With the release of Scala 3, one of the biggest changes to the language revolves around metaprogramming: Inline-functions, match types, generic-programming tools like tuple types and Mirror s, as well as a new macro API have been added to make code generation a major concern of Scala.