type 'a conv = [ `Error of exn * Sexp.t | `Result of 'a ]
type 'a annot_conv = 'a Sexp.Annotated.conv
val load_sexp : string -> Sexp.t
val load_sexps : string -> Sexp.t list
val load_sexp_conv : string -> (Sexp.t -> 'a) -> 'a annot_conv
val load_sexps_conv : string -> (Sexp.t -> 'a) -> 'a annot_conv list
val load_sexp_conv_exn : string -> (Sexp.t -> 'a) -> 'a
val load_sexps_conv_exn : string -> (Sexp.t -> 'a) -> 'a list
val expand_local_macros : Sexp.t list -> Sexp.t list conv
module type Sexp_loader = sig .. end
module Monad : sig .. end
type 'a t
val return : 'a -> 'a t
module Monad_infix : sig .. end
val (>>=) : 'a t -> ('a -> 'b t) -> 'b t
module List : sig .. end
val iter : 'a list -> f:('a -> unit t) -> unit t
val map : 'a list -> f:('a -> 'b t) -> 'b list t
val load_sexps : string -> Sexp.t list Monad.t
val load_annotated_sexps : string -> Sexp.Annotated.t list Monad.t
module Loader : 
functor (S : Sexp_loader) -> sig .. end
val load_sexp_conv : string -> (Sexp.t -> 'a) -> 'a annot_conv S.Monad.t
val load_sexps_conv : string -> (Sexp.t -> 'a) -> 'a annot_conv list S.Monad.t
val add_error_location : string -> exn -> exn