Transform/extension methods

New phase ported: extension methods
These look nicely isolated and unit-testable now, could check that `tp.toStatic(cls).toDynamic(cls)` is an identity, e.g.