add `clone_from` and `deep_clone_from`