function _range (start, end, step, includeEnd) {
    const array = []
    const ongoing = isPositive(step)
      ? includeEnd ? smallerEq : smaller
      : includeEnd ? largerEq : larger
    let x = start
    while (ongoing(x, end)) {
      array.push(x)
      x = add(x, step)
    }
    return array
  }
Create a range with numbers or BigNumbers
@param {number | BigNumber | Unit} start
@param {number | BigNumber | Unit} end
@param {number | BigNumber | Unit} step
@param {boolean} includeEnd
@returns {Array} range
@private