Reimplement compiler as visitor.  Proof of concept.