let are_disjoint = function
  (i1, i2) -> upper_bound (i1) < lower_bound (i2) or upper_bound (i2) < lower_bound (i1)