package grenier

  1. Overview
  2. Docs
type 'a t
val order : 'a t -> 'b t -> ('a, 'b) order
val lift_eq : ('a, 'b) eq -> ('a t, 'b t) eq
val to_int : 'a t -> int
type zero
val zero : zero t
type one
val one : one t
module type T = sig ... end
module Nth (N : sig ... end) : T
val nth : int -> (module T)
type ('a, 'b) sum
val add : 'a t -> 'b t -> ('a, 'b) sum t
val sum_comm : (('a, 'b) sum, ('b, 'a) sum) eq
val sum_assoc : ((('a, 'b) sum, 'c) sum, ('a, ('b, 'c) sum) sum) eq
type ('a, 'b) prod
val mul : 'a t -> 'b t -> ('a, 'b) prod t
val prod_comm : (('a, 'b) prod, ('b, 'a) prod) eq
val prod_assoc : ((('a, 'b) prod, 'c) prod, ('a, ('b, 'c) prod) prod) eq