Common traits for generic functionality
Library traits
Module Traits . Ord
module type Trait = sig ... end

Ord implementation signature

module type T = sig ... end

Signature that defines Ord conformity

module Make (T : sig ... end) : sig ... end

Defines a default implementation of Trait over an existing PartialOrd.Trait definition

val cmp : (module T with type Ord.t = 'a) -> 'a0 -> 'a1 -> Ordering.t

Compares values x and y with module M and returns an ordering, left to right