ranges/ranges.go
func (f *InclusiveRange) Index(value int) int {
	closest := f.closestInRange(value, f.start, f.End(), f.step)
	if closest != value {
		return -1
	}
	idx := (value - f.start) / f.step
	if idx < 0 {
		idx *= -1
	}
	return idx
}
func (f *InclusiveRange) Index(value int) int {
	closest := f.closestInRange(value, f.start, f.End(), f.step)
	if closest != value {
		return -1
	}
	idx := (value - f.start) / f.step
	if idx < 0 {
		idx *= -1
	}
	return idx
}
// Index returns the 0-based index of the first occurrence
// given value, within the range.
// If the value does not exist in the range, a
// value of -1 will be returned