+1 on the specialized method. clone_item was ambiguous in terms of the semantics and prone to operator error.