Specify parser types for clarity
Cleanup, including moving stuff into a util package
Move literals into their own trait
Split out expressions too
Split statements into their own trait
Make the entry point more clear in code via separation

This makes more sense to me structurally, but it might not to others.