Complete case class, pattern matching and traits