org.specs2.matcher
Diffable instance for a case class
Compare 2 case class instances recursively
proof that a type T is a case class