Should we have a converting copy?

eg.
```julia
function copy(T::Type, x)
    a = convert(T, x)
    if a === x
        a = copy(a)
    end
    a
end
```