code: func (ns *Namespace) IsSet(a interface{}, key interface{}) (bool, error) {
  	av := reflect.ValueOf(a)
  	kv := reflect.ValueOf(key)
  
  	switch av.Kind() {
  	case reflect.Array, reflect.Chan, reflect.Slice:
  		k, err := cast.ToIntE(key)
  		if err != nil {
  			return false, fmt.Errorf("isset unable to use key of type %T as index", key)
  		}
  		if av.Len() > k {
  			return true, nil
  		}
  	case reflect.Map:
  		if kv.Type() == av.Type().Key() {
  			return av.MapIndex(kv).IsValid(), nil
  		}
  	default:
  		helpers.DistinctFeedbackLog.Printf("WARNING: calling IsSet with unsupported type %q (%T) will always return false.\n", av.Kind(), a)
  	}
  
  	return false, nil
  }
docs: // IsSet returns whether a given array, channel, slice, or map has a key
  // defined.