Weave
private class Weave(val matcher: ElementMatcher<MethodDescription>, val params: List<String>?, val methodName: String, val slot: Int, val key: String, val phase: Patch.Phase)
Everything the per-type transform body needs that isn't the type itself. methodName is the mojmap name the script asked for, carried rather than looked back up: it is exact by construction, and on an obf runtime it is the only way the reported signature can name the method at all.