Up

Module Invariant_intf

This module defines signatures that are to be included in other signatures to ensure a consistent interface to invariant-style functions. There is a signature (S, S1, S2, S3) for each arity of type. Usage looks like:


      type t
      include Invariant.S with type t := t
    

or


      type 'a t
      include Invariant.S1 with type 'a t := 'a t
    

Signature

type 'a t = 'a -> unit
type 'a inv = 'a t
module type S = sig .. end
module type S1 = sig .. end
module type S2 = sig .. end
module type S3 = sig .. end
module type Invariant = sig .. end