Copy

Param type is a const lvalue reference, so we can provide an overload for moving.