post-7507 cleanup

Fix of SI-7507 in d2faeb9ae6 allowed us to shave off a few lines of
boilerplate in the macro engine, the opportunity I gladly went for.
macro impls can now return subtypes of c.Tree

10229316db allowed macro impls to take and return values of type c.Tree
in addition to the usual c.Expr. However it didn't take into account that
it is often useful to return subtypes of trees (e.g. with quasiquotes
that expand into expressions typed as precisely as possible). This patch
fixes that oversight.