Pretty high latency, I know, but this didn't became a problem until now (again):
About a year ago I rewrote the Parser.XML.Tree to be much more object oriented. The major design goal was to be able to easily redefine the produced nodes in the tree. Basically you could do
class Node { inherit Parser.XML.Tree.Node;
void my_method() { return 7; } }
Node n = Node(Stdio.read_file("file.xml"));
and get my_method() in all the produced nodes.
Today we are however back to the one-class-per-node-type-approach where you basically has to inherit the entire Parser.XML.Tree module to be able to modify its behaviour. Why is that?