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