Function DOES() Expression but not Statement, so it should not inherit from either.
Move Type instance methods to _TypeBase, and allow direct creation of raw types. use parent instead of setting ISA. in pointer and array, use xxxType->new().