emission of single AST node class more-or-less complete

now hierarchies have to borrow most of the same code