trait Convert[C <: Quotes & Singleton](val qctx: C) extends ContextUtil[C]
Convert is a glorified partial function to scan through the AST for the purpose of substituting
the matching term with something else.
This is driven by calling transformWrappers(...) method. The filtering is limited to the shape of
code matched using appTransformer, which is a generic function with a single type param and a
single term param like X.wrapInit[A](...).
Substitutes wrappers in tree t with the result of subWrapper. A wrapper is a Tree of the
form f[T](v) for which isWrapper(, , .target) returns true.
Typically, f is a Select or Ident. The wrapper is replaced with the result of
subWrapper(<Type of T>, <Tree of v>, <wrapper Tree>)
Substitutes wrappers in tree t with the result of subWrapper. A wrapper is a Tree of the
form f[T](v) for which isWrapper(, , .target) returns true.
Typically, f is a Select or Ident. The wrapper is replaced with the result of
subWrapper(<Type of T>, <Tree of v>, <wrapper Tree>)