Much better implementation of Hash#dclone.