def intervals
      first, *rest = bounds.each_cons(2).to_a
      [first, *rest.map {|lower, upper| [data[data.rindex(lower) + 1] , upper] }]
    end
def intervals
      first, *rest = bounds.each_cons(2).to_a
      [first, *rest.map {|lower, upper| [data[data.rindex(lower) + 1] , upper] }]
    end
Returns inclusive interval limits