let enlarge_to_left ~extend_left same_values bi new_vv acc =
    if extend_left then
    (* look for an interval ending just before i *)
      let p_bi = Int.pred bi in
        match concerned_intervals Int_Interv.fuzzy_order (p_bi,p_bi) acc
        with [] -> acc,bi
          | [(ba,ea) as a,vva] -> assert (Int.equal ea p_bi);
              if same_values vva new_vv then
                (remove a acc),ba
              else acc,bi
          | _ -> assert false
    else acc, bi