functor (R : READER) -> sig type source = R.source val parse : source -> 'a t -> ('a, error) result val parse' : source -> 'a t -> ('a, string) result val parse_exn : source -> 'a t -> 'a end