let diff u v =
Map.fold u ~init:Map.empty ~f:(fun ~key:k ~data:set_u accu ->
let set_u' =
match Map.find v k with
| Some set_v -> Biocaml_iset.diff set_u set_v
| None -> set_u
in
Map.add ~key:k ~data:set_u' accu
)