Module Identifiable

module Identifiable: sig .. end

Uniform interface for common data structures over various things.


module type Thing = sig .. end
module Pair: 
functor (A : Thing) ->
functor (B : Thing) -> Thing with type t = A.t * B.t
module type Set = sig .. end
module type Map = sig .. end
module type Tbl = sig .. end
module type S = sig .. end
module Make: 
functor (T : Thing) -> S with type t := T.t