Parser

parse_partial : Parser(input, a), input -> ParseResult(input, a)
parse : Parser(input, a), input, (input -> Bool) -> Try(a, [ParsingFailure(Str), ParsingIncomplete(input)])
const : a -> Parser(_, a)
alt : Parser(input, a), Parser(input, a) -> Parser(input, a)
apply : Parser(input, a -> b), Parser(input, a) -> Parser(input, b)
one_of : List(Parser(input, a)) -> Parser(input, a)
map : Parser(input, a), (a -> b) -> Parser(input, b)
map2 : Parser(input, a), Parser(input, b), (a, b -> c) -> Parser(input, c)
map3 : Parser(input, a), Parser(input, b), Parser(input, c), (a, b, c -> d) -> Parser(input, d)
lazy : ({ } -> Parser(input, a)) -> Parser(input, a)
maybe : Parser(input, a) -> Parser(input, Try(a, [Nothing]))
many : Parser(input, a) -> Parser(input, List(a))
between : Parser(input, a), Parser(input, open), Parser(input, close) -> Parser(input, a)
sep_by1 : Parser(input, a), Parser(input, sep) -> Parser(input, List(a))
sep_by : Parser(input, a), Parser(input, sep) -> Parser(input, List(a))
ignore : Parser(input, a) -> Parser(input, { })
keep : Parser(input, a -> b), Parser(input, a) -> Parser(input, b)
skip : Parser(input, a), Parser(input, _) -> Parser(input, a)