module Fold_map: Fold_mapmodule type Foldable =sig..end
Fold_map.Make
module type S =sig..end
Fold_map.Make
module Make(Fold:Foldable):Swith type in_value = Fold.data and type out_value = Fold.t
fold_map
sexp_of and of_sexp functions. Requires the
passed in types to be sexpable.module type S_sexpable =sig..end
module type Foldable_sexpable =sig..end
module Make_sexpable(Fold:Foldable_sexpable):S_sexpablewith type in_value = Fold.data and type out_value = Fold.t
Polymorphic fold take a
module type Foldable2 =sig..end
module type S2 =sig..end
module Make2(Fold:Foldable2):S2with type 'a out_value = 'a Fold.t
module type Foldable2_sexpable =sig..end
module type S2_sexpable =sig..end
module Make2_sexpable(Fold:Foldable2_sexpable):S2_sexpablewith type 'a out_value = 'a Fold.t
module Cons:S2_sexpablewith type 'a out_value = 'a list
module Add:S_sexpablewith type in_value = int and type out_value = int
module Multiply:S_sexpablewith type in_value = int and type out_value = int