module LowerUpper: sig .. end
Allows to create a module that represents lower and upper bounds
of a solution. The functor takes a set that allows intersection
(inter) and union, supports the is_empty and subset operation
and also allows to compare two sets and create a string
(string_of) representation for the set.
module type SS_WO_ME = sig .. end
module type SMALLSET = sig .. end
The parameter of the functor.
module type S = sig .. end
Result of the functor
module Make: functor (Set : SMALLSET) -> S with type elm = Set.t
Takes the set and creates a module allowing to
collect lower and upper bounds.