function normalizeForwardIndex (index, viewSize) {
    const { length } = Run

    if (index <= length) {
      return index
    }

    if (Glide.isType('carousel')) {
      return index - (length + 1)
    }

    if (Glide.settings.rewind) {
      // bound does funny things with the length, therefor we have to be certain
      // that we are on the last possible index value given by bound
      if (Run.isBound() && !Run.isEnd()) {
        return length
      }

      return 0
    }

    if (Run.isBound()) {
      return length
    }

    return Math.floor(length / viewSize) * viewSize
  }
Normalizes the given forward index based on glide settings, preventing it to exceed certain boundaries

@param index
@param length
@param viewSize
@returns {Number}