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.
I would like to go over the most relevant tools and changes that can improve your developer experience.
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 talk, we will take a tour around the `error` function. Starting from the simple use-cases and ending up with sophisticated yet developer-friendly error messages.
In this talk, we will demonstrate some elegant applications of functional programming in Scala, with even more elegant visual results - all with live code and real-time output.
Let's write a game in Scala Native, for Playdate!