Let's take a look at the issues that enums have in Scala 2 and whether we found the Holy Grail with the introduction of Scala 3.
How Libretto, a Scala DSL for concurrent programming, can be used for writing custom stream operators