Melange_ppx_lib.Ast_iomodule Intf_or_impl: { ... };type input_version = (module OCaml_version);let fall_back_input_version: (module OCaml_version);type read_error = | Not_a_binary_ast| Unknown_version(string, input_version)| Source_parse_error(Ppxlib_ast.Location_error.t, input_version)| System_error(Ppxlib_ast.Location_error.t, input_version);type input_kind = | Possibly_source of {filename: string,parse_fun: Lexing.lexbuf => Intf_or_impl.t,}| Necessarily_binary;let read: input_source => input_kind:input_kind => result(t, read_error);let read_exn: input_source => input_kind:input_kind => t;