Lower type bounds

trait Bird
case class AfricanSwallow() extends Bird
case class EuropeanSwallow() extends Bird


val africanSwallowList = ListNode[AfricanSwallow](AfricanSwallow(), Nil())
val birdList: Node[Bird] = africanSwallowList
birdList.prepend(EuropeanSwallow())

Declare a type to be a supertype of another type.

Lower type bounds → are a → Scala Unified types.

Lower type bounds — Structure map

Clickable & Draggable!

Lower type bounds — Related pages: