For generic code, which would otherwise have to invent some SFINAE "use castInto() if the types are different and Utility::copy() otherwise" nastiness in every such case, and that's just annoying.