revising deep_copy() and identifier::name