generic std::clone::Clone is explicit with a .clone() method, while Copy is implicit.

Many types in Rust can’t have Copy. Copy need to guarantee to be cheap, and Copy can’t handle references correctly (naive copy can cause two owners of the same object).