we can make this read-only because the only write that happens is for the parse tree and there's no read/write, it can be done with a straightforward gearbox, i believe.