I propose that we can extend Mirrors to operations, and use the most natural DSL of all - plain trait definitions.
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.
In this beginner-friendly talk we'll try to find out using the power of Scala and functional programming techniques.
Listen to a story of how we have dealt with 201 obstacles allowing us to run multithreaded programs natively!
I would like to go over the most relevant tools and changes that can improve your developer experience.