How to Copy (almost) Any Object