Megarefactor: separate AST from TSDL objects