code: func (cp *ChanPrivs) String() string {
  	if cp == nil {
  		return "No modes set"
  	}
  	str := "+"
  	v := reflect.Indirect(reflect.ValueOf(cp))
  	t := v.Type()
  	for i := 0; i < v.NumField(); i++ {
  		switch f := v.Field(i); f.Kind() {
  		// only bools here at the mo too!
  		case reflect.Bool:
  			if f.Bool() {
  				str += ChanPrivToString[t.Field(i).Name]
  			}
  		}
  	}
  	if str == "+" {
  		str = "No modes set"
  	}
  	return str
  }
docs: // Returns a string representing the channel privileges. Looks like:
  //	+o