get rid of AddType

So that AST nodes are built without modifying anything in child nodes.
Return a namedtuple instead of a tuple.