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.
The talk explores the recursive structure of Diamond Architecture.