Why are all these functions enclosed in the `parse()` method, aren't these helper functions all monadic?