docs: function findIndexInSortedClosedIntervals(ary, mapLoFn, mapHiFn, val) {
      var i = findLowIndexInSortedArray(ary, mapLoFn, val);
      if (i === 0) {
        if (val >= mapLoFn(ary[0], 0) &&
            val <= mapHiFn(ary[0], 0)) {
          return 0;
        } else {
          return -1;
      }
      } else if (i < ary.length) {
        if (val >= mapLoFn(ary[i - 1], i - 1) &&
            val <= mapHiFn(ary[i - 1], i - 1)) {
          return i - 1;
        } else if (val >= mapLoFn(ary[i], i) &&
            val <= mapHiFn(ary[i], i)) {
          return i;
        } else {
          return ary.length;
        }
      } else if (i == ary.length) {
        if (val >= mapLoFn(ary[i - 1], i - 1) &&
            val <= mapHiFn(ary[i - 1], i - 1)) {
          return i - 1;
        } else {
          return ary.length;
        }
      } else {
        return ary.length;
      }
    }