code: func EncodeMulti(name string, value interface{}, codecs ...Codec) (string, error) {
  	if len(codecs) == 0 {
  		return "", errNoCodecs
  	}
  
  	var errors MultiError
  	for _, codec := range codecs {
  		encoded, err := codec.Encode(name, value)
  		if err == nil {
  			return encoded, nil
  		}
  		errors = append(errors, err)
  	}
  	return "", errors
  }
docs: // EncodeMulti encodes a cookie value using a group of codecs.
  //
  // The codecs are tried in order. Multiple codecs are accepted to allow
  // key rotation.
  //
  // On error, may return a MultiError.