orig = { :num => 1, :ary => [2, 3] }
orig[:cycle] = orig	


copy = Marshal.load(Marshal.dump orig)



orig[:ary] << 4
orig[:rng] = (5..6)



p orig	
p copy	



p [(orig.equal? orig[:cycle]),
   (copy.equal? copy[:cycle]),
   (not orig.equal? copy)]