type ('k, 'v) t
= 'k * [ `Left of 'v | `Right of 'v | `Unequal of 'v * 'v ]
include sig ... end
val compare : ('k ‑> 'k ‑> int) ‑> ('v ‑> 'v ‑> int) ‑> ('k, 'v) t ‑> ('k, 'v) t ‑> int
val t_of_sexp : (Sexp.t ‑> 'k) ‑> (Sexp.t ‑> 'v) ‑> Sexp.t ‑> ('k, 'v) t
val sexp_of_t : ('k ‑> Sexp.t) ‑> ('v ‑> Sexp.t) ‑> ('k, 'v) t ‑> Sexp.t