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

PartialOrd implementation signature

module type T = sig ... end

Signature that defines PartialOrd conformity

val partial_cmp : (module T with type PartialOrd.rhs = 'b and type PartialOrd.t = 'a) -> 'a0 -> 'b0 -> Ordering.t option

Compares values x and y with module M and returns an ordering if one exists