This talk aims to equip the audience with the minimum required bagage to get comfortable working with contravariance.

Contravariance can throw many developers off the first time they run into it. This talk aims to equip the audience with the minimum required bagage to get comfortable working with contravariance. We'll begin by building up intuition for what it means for a type parameter to be in contraviariant position, before moving on to concrete examples.
This talk is my slightly expanded version of that statement, and should hopefully understand what "Free" is, what purpose it serves and where it came from.
I propose that we can extend Mirrors to operations, and use the most natural DSL of all - plain trait definitions.
Join me in a talk empowering you to build Scala applications that not only excel internally but also deliver optimal experiences from an external perspective.
The talk explores the recursive structure of Diamond Architecture.