Open
Description
We should change the Composer, Parser, Reader, Resolver and Scanner classes into structs or free-standing functions.
- We don't need the polymorphism (they're final anyway)
- The near-requirement of heap placement is limiting us
- We rely on the GC for cleanup
- We don't want to deal with overriding methods and the drawbacks that come with them