Core concept
class Box[+T](val t: T) // covariant
class Function1[-I, +O] // contravariant in, covariant outAdvertisement
How it works
Variance rules complex. Compiler enforces.
Advertisement
Trade-offs + gotchas
Reusable data structures. FP abstractions.