This probably needs an RFC, but one solution to the problem of Copy
not implying Clone
is to make this happen via compiler magic: the compiler "magically" inserts an implementation of Clone
for any Copy
type.
GHC does something similar with Coercible
.