what's your least favorite Scala feature that you see popping up in otherwise reasonable code? i'll go: nested methods, especially those using context from the parent method. exceptions can be made for really small nested methods
If the supertype of a case class explicitly extends Product with Serializable, these two traits (which are automatically inherited by all case classes) get subsumed into the supertype that's inferred when two or more of its case class children are least-upper-bounded.