docs: function iterateOverIntersectingIntervals(ary, mapLoFn, mapWidthFn, loVal,
                                              hiVal, cb) {
      if (ary.length == 0)
        return;
  
      if (loVal > hiVal) return;
  
      var i = findLowIndexInSortedArray(ary, mapLoFn, loVal);
      if (i == -1) {
        return;
      }
      if (i > 0) {
        var hi = mapLoFn(ary[i - 1]) + mapWidthFn(ary[i - 1], i - 1);
        if (hi >= loVal) {
          cb(ary[i - 1], i - 1);
        }
      }
      if (i == ary.length) {
        return;
      }
  
      for (var n = ary.length; i < n; i++) {
        var lo = mapLoFn(ary[i]);
        if (lo >= hiVal)
          break;
        cb(ary[i], i);
      }
    }