CodeGen is beginning to look like a proper Visitor