Consider trivial macro:
def test[A](a: A): Unit = macro testImpl[A] def testImpl[A: c.WeakTypeTag](c: blackbox.Context)(a: c.Expr[A]): c.Expr[Unit] = { imp