Open
Description
trait TravLike { def map = ... }
sealed trait List extends TravLike { ... } // map is not overridden
final case class ::
final case object Nil
(l: List).map // can be inlined
we need to know that
- the recevier is sealed
- what are the children of the receiver
- all children are final
- none of the children overrides map