Moved type-specific creation/move/destruction functions to a new file
Renamed them to more appropriate names
Reenabled copy ctor calls