Copy

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.