prefix = Expr[Nothing]({ final class $anon extends Object with Base { def (): anonymous class $anon = { $anon.super.(); () }; }; new $anon() }) it works prefix = Expr[Nothing](Macros) it works prefix = Expr[Nothing](new Macros()) it works