| (m, w)::tl1, [] ->
let res1, res2 = aux tl1 [] in
(m, w)::res1, (m, 0)::res2
+ | _, _ -> assert false
in
let cmp (m, _) (n, _) = compare m n in
let wl1, wl2 = aux (List.sort cmp wl1) (List.sort cmp wl2) in
if (- diffs) >= hdiff then Ge else Incomparable
| (m, _, n) when m > 0 && n > 0 ->
Incomparable
+ | _ -> assert false
;;