I propose that we can extend Mirrors to operations, and use the most natural DSL of all - plain trait definitions.
In this talk, I will cover three key concepts that emerged from reflecting on this past year of learning: making mistakes, helping others to help you and finding community.
This talk aims to equip the audience with the minimum required bagage to get comfortable working with contravariance.
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.