updated AST
correctly parse type definitions