code: func (ns *Namespace) After(index interface{}, seq interface{}) (interface{}, error) {
  	if index == nil || seq == nil {
  		return nil, errors.New("both limit and seq must be provided")
  	}
  
  	indexv, err := cast.ToIntE(index)
  	if err != nil {
  		return nil, err
  	}
  
  	if indexv < 1 {
  		return nil, errors.New("can't return negative/empty count of items from sequence")
  	}
  
  	seqv := reflect.ValueOf(seq)
  	seqv, isNil := indirect(seqv)
  	if isNil {
  		return nil, errors.New("can't iterate over a nil value")
  	}
  
  	switch seqv.Kind() {
  	case reflect.Array, reflect.Slice, reflect.String:
  		// okay
  	default:
  		return nil, errors.New("can't iterate over " + reflect.ValueOf(seq).Type().String())
  	}
  
  	if indexv >= seqv.Len() {
  		return seqv.Slice(0, 0).Interface(), nil
  	}
  
  	return seqv.Slice(indexv, seqv.Len()).Interface(), nil
  }
docs: // After returns all the items after the first N in a rangeable list.