Easier: * [x] Enable output to files * [ ] Ensure pipelining is perfect Better: * [ ] Create a smaller object footprint * [ ] Make it more embeddable * [ ] Make "block spanning" work (e.g. `{ if () {} } ... { else {} } ` )