We should figure out a way of getting rid of the adapter boilerplate as seen in https://scala-hearth.readthedocs.io/en/latest/basic-utilities/#your-first-hearth-based-macro, e.g.
// Scala 2 - macro annotations?
@GenerateAdapters("yourMacro" -> "yourMacroImpl")
class YourMacro(val c: blackbox.Context) extends hearth.MacroCommonsScala2 with SharedMacroLogic
// Scala 3 - compiler plugin?
@GenerateAdapters("yourMacro")
class YourMacro(q: Quotes) extends hearth.MacroCommonsScala3(using q), SharedMacroLogic
We should figure out a way of getting rid of the adapter boilerplate as seen in https://scala-hearth.readthedocs.io/en/latest/basic-utilities/#your-first-hearth-based-macro, e.g.