let enlarge_to_right ~extend_right same_values ei new_vv acc =
    if extend_right then
      (* look for an interval starting just after i *)
      let s_ei = Int.succ ei in
        match concerned_intervals Int_Interv.fuzzy_order (s_ei,s_ei) acc
        with [] -> acc,ei
          | [(ba,ea) as a,vva] ->
              assert (Int.equal ba s_ei);
              if same_values vva new_vv then
                (remove a acc),ea
              else acc,ei
          | _ -> assert false
    else acc,ei