code: func canIndexOrdinally(v reflect.Value) bool {
  	if !v.IsValid() {
  		return false
  	}
  	switch t := v.Type(); t.Kind() {
  	case reflect.Ptr, reflect.Interface:
  		return canIndexOrdinally(v.Elem())
  	case reflect.Slice, reflect.Array:
  		return true
  	}
  	return false
  }
docs: // canIndexOrdinally returns whether a value contains an ordered sequence of elements.