# Module Equal

    module Equal: sig .. end

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

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

or

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

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

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

or

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

    type 'a t = 'a -> 'a -> bool

    type 'a equal = 'a t

    module type S = sig .. end

    module type S1 = sig .. end

    module type S2 = sig .. end

    module type S3 = sig .. end

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

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

or

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