sig
type 'a conv = CCSexp.t -> 'a option
val map_opt : ('a -> 'b option) -> 'a list -> 'b list option
val list_any : 'a CCSexp.Traverse.conv -> CCSexp.t -> 'a option
val list_all : 'a CCSexp.Traverse.conv -> CCSexp.t -> 'a list
val to_int : int CCSexp.Traverse.conv
val to_string : string CCSexp.Traverse.conv
val to_bool : bool CCSexp.Traverse.conv
val to_float : float CCSexp.Traverse.conv
val to_list : CCSexp.t list CCSexp.Traverse.conv
val to_list_with : (CCSexp.t -> 'a option) -> 'a list CCSexp.Traverse.conv
val to_pair : (CCSexp.t * CCSexp.t) CCSexp.Traverse.conv
val to_pair_with :
'a CCSexp.Traverse.conv ->
'b CCSexp.Traverse.conv -> ('a * 'b) CCSexp.Traverse.conv
val to_triple : (CCSexp.t * CCSexp.t * CCSexp.t) CCSexp.Traverse.conv
val to_triple_with :
'a CCSexp.Traverse.conv ->
'b CCSexp.Traverse.conv ->
'c CCSexp.Traverse.conv -> ('a * 'b * 'c) CCSexp.Traverse.conv
val get_field : string -> CCSexp.t CCSexp.Traverse.conv
val field : string -> 'a CCSexp.Traverse.conv -> 'a CCSexp.Traverse.conv
val get_variant :
(string * (CCSexp.t list -> 'a option)) list -> 'a CCSexp.Traverse.conv
val field_list :
string -> (CCSexp.t list -> 'a option) -> 'a CCSexp.Traverse.conv
val ( >>= ) : 'a option -> ('a -> 'b option) -> 'b option
val ( >|= ) : 'a option -> ('a -> 'b) -> 'b option
val return : 'a -> 'a option
val get_exn : 'a option -> 'a
end