Yeah, okay... Using CLOS. Seems like a better idea.
Adding generics for the abstract syntax tree.