WIP: New abstract classes work as combinators. Need to update models to register rules explicitly and replace obsolete AST classes.