type ('left, 'right) t = [
| `Left of 'left
| `Right of 'right
| `Both of 'left * 'right
]
val compare :
('left -> 'left -> int) ->
('right -> 'right -> int) ->
('left, 'right) t ->
('left, 'right) t ->
int
val equal :
('left -> 'left -> bool) ->
('right -> 'right -> bool) ->
('left, 'right) t ->
('left, 'right) t ->
bool
val left : ('left, _) t -> 'left option
val right : (_, 'right) t -> 'right option
val left_value : ('left, _) t -> default:'left -> 'left
val right_value : (_, 'right) t -> default:'right -> 'right
val values :
('left, 'right) t ->
left_default:'left ->
right_default:'right ->
'left * 'right