alg_structs

Interfaces and module combinators for algebraic structures
IN THIS PACKAGE
val let+ : 'a t -> ( 'a -> 'b ) -> 'b t

let+ x = t in f x is map ~f t

val and+ : 'a t -> 'b t -> ('a * 'b) t

let+ x = t and+ y = t' in f x y is f <@> t <*> t'