module Pair:sig..end
Operations on pairs.
type('a, 'b)t ='a * 'b
The type for pairs.
val make : 'a -> 'b -> 'a * 'bmake a b is the pair (a, b).
val fst : 'a * 'b -> 'afst (a, b) is a.
val snd : 'a * 'b -> 'bsnd (a, b) is b.
val swap : 'a * 'b -> 'b * 'aswap (a, b) is (b, a).
val fold : ('a -> 'b -> 'c) -> 'a * 'b -> 'cfold f (a, b) applies f to a and b.
val map : ('a -> 'c) -> ('b -> 'd) -> 'a * 'b -> 'c * 'dmap f g (a, b) applies f to a and g to b.
val iter : ('a -> unit) -> ('b -> unit) -> 'a * 'b -> unititer f g (a, b) first applies f to a, and then g to b.
val map_fst : ('a -> 'c) -> 'a * 'b -> 'c * 'bmap_fst f p applies f to p's first component.
val map_snd : ('b -> 'c) -> 'a * 'b -> 'a * 'cmap_snd f p applies f to p's second component.
val equal : ('a -> 'a -> bool) -> ('b -> 'b -> bool) -> 'a * 'b -> 'a * 'b -> boolequal eqa eqb (a1, b1) (a2, b2) is true if and only if eqa a1 a2 and
    eqb b1 b2 are both true.
val compare : ('a -> 'a -> int) -> ('b -> 'b -> int) -> 'a * 'b -> 'a * 'b -> intcompare cmpa cmpb is a total order on pairs using cmpa to compare the
    first component, and cmpb to compare the second component. It is
    implemented by a lexicographic order.