I propose that we can extend Mirrors to operations, and use the most natural DSL of all - plain trait definitions.

Can we derive endpoints from just a trait definition? One of Scala's strengths is domain modelling, and from a data definition, we can derive generic information in a Mirror, e.g. to generate type classes. For operations (such as endpoints) there is less support from metaprogramming, so we often create DSLs to describe them. I propose that we can extend Mirrors to operations, and use the most natural DSL of all - plain trait definitions.
This talk aims to equip the audience with the minimum required bagage to get comfortable working with contravariance.
In this session, I will guide you through two recent additions to Ox that I helped implement: channel operators and retries.
I would like to go over the most relevant tools and changes that can improve your developer experience.
Drawing on 25 years of experience as a professional musician and record producer, this will be a beginner focused talk introducing the use of Scala.js and the web audio api for building Scala powered Web Audio Applications.