changed Term to be a normal object instead of inheriting from namedtuple and changed the args member to be a list instead of a tuple. This enables you to manipulate the parse tree as you're going along