# 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