# Module Comparable_intf

    module Comparable_intf: sig .. end

Used for specifying a bound (either upper or lower) as inclusive, exclusive, or unbounded.

    module type Infix = Polymorphic_compare_intf.Infix

    module type Polymorphic_compare = Polymorphic_compare_intf.S

    type 'a bound =

`|` | `Incl of `'a``
`|` | `Excl of `'a``
`|` | `Unbounded`

Used for specifying a bound (either upper or lower) as inclusive, exclusive, or unbounded.

    module type Validate = sig .. end

    module type With_zero = sig .. end

    module type S_common = sig .. end

    module type S = sig .. end

Usage example:

    module type Map_and_set_binable = sig .. end

    module type S_binable = sig .. end

Used for specifying a bound (either upper or lower) as inclusive, exclusive, or unbounded.
`ascending` is identical to `compare`. `descending x y = ascending y x`. These are intended to be mnemonic when used like `List.sort ~cmp:ascending` and `List.sort ~cmp:descending`, since they cause the list to be sorted in ascending or descending order, respectively.
Usage example:

          module Foo : sig
            type t = ...
            include Comparable.S with type t := t
          end

Then use `Comparable.Make` in the struct (see comparable.mli for an example).