== 1. Diamond: root.left and root.right are the same node ==
  original                : left == right : true
  copy constructor        : left == right : false
  identity-map copy       : left == right : true
  serialization copy      : left == right : true

== 2. Cycle: a -> b -> a ==
  original                : a.left.left == a : true
  copy constructor        : StackOverflowError
  identity-map copy       : copy.left.left == copy : true
  identity-map copy       : copy != original       : true
