/Engine/Source/Runtime/Core/Public/Templates/UnrealTypeTraits.h
Param type is not an const lvalue reference, which means it's pass-by-value, so we should just provide a single type for copying. Move overloads will be ignored due to SFINAE.
typedef U Copy