code: func DecodeMulti(name string, value string, dst interface{}, codecs ...Codec) error {
  	if len(codecs) == 0 {
  		return errNoCodecs
  	}
  
  	var errors MultiError
  	for _, codec := range codecs {
  		err := codec.Decode(name, value, dst)
  		if err == nil {
  			return nil
  		}
  		errors = append(errors, err)
  	}
  	return errors
  }
docs: // DecodeMulti decodes 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.