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.
In this talk, we will start with the basics, understanding what build caching is and why it can be a bit tricky to handle in real projects.
In this beginner-friendly talk we'll try to find out using the power of Scala and functional programming techniques.
In this session, I will guide you through two recent additions to Ox that I helped implement: channel operators and retries.
I propose that we can extend Mirrors to operations, and use the most natural DSL of all - plain trait definitions.
In this talk, we’ll show first the different techniques we can use to apply constraints is our domains. Then, we’ll present Iron, its features, extensions, and integrations. We’ll finish by showcasing a fully integrated constraint-enforcing app.