used decltype() in one case for Synchronized<Memory::Optional<T, TRAITS>>