A parser takes in input type, and returns a Result containing either the remaining input and the output value, or an error
is the docstring for both. Is this the high-level switch between streaming and complete parsers, or should this be done some other way? Should I use parse_complete everywhere if I want a complete parser, or is it enough to use it once? I am not really sure how that fits together.