type (!'left, !'right) t = [ | `Both of 'left * 'right| `Left of 'left| `Right of 'right
]val compare :
('left -> 'left -> int) ->
('right -> 'right -> int) ->
('left, 'right) t ->
('left, 'right) t ->
intval equal :
('left -> 'left -> bool) ->
('right -> 'right -> bool) ->
('left, 'right) t ->
('left, 'right) t ->
boolval left : ('left, 'a) t -> 'left optionval right : ('a, 'right) t -> 'right optionval left_value : ('left, 'a) t -> default:'left -> 'leftval right_value : ('a, 'right) t -> default:'right -> 'rightval values :
('left, 'right) t ->
left_default:'left ->
right_default:'right ->
'left * 'right