Transform/extension methods

New phase ported: extension methods
I guess you know this, but `isDerivedValueClass` is hard coded as false right now.