def decorator(func: Callable[([T], T_co)]) -> CachedSlotProperty[(T, T_co)]:
    return CachedSlotProperty(name, func)
def decorator(func: Callable[([T], T_co)]) -> CachedSlotProperty[(T, T_co)]:
    return CachedSlotProperty(name, func)