errs.go
func (e *err) mergeIn(info Info, publicMsgParts []interface{}) {
	for key, val := range info {
		for e.info[key] != nil {
			key = key + "_duplicate"
		}
		e.info[key] = val
	}
	publicMsgPrefix := concatArgs(publicMsgParts...)
	if publicMsgPrefix == "" {
		// do nothing
	} else if e.publicMsg == "" {
		e.publicMsg = publicMsgPrefix
	} else {
		e.publicMsg = publicMsgPrefix + " - " + e.publicMsg
	}
}
func (e *err) mergeIn(info Info, publicMsgParts []interface{}) {
	for key, val := range info {
		for e.info[key] != nil {
			key = key + "_duplicate"
		}
		e.info[key] = val
	}
	publicMsgPrefix := concatArgs(publicMsgParts...)
	if publicMsgPrefix == "" {
		// do nothing
	} else if e.publicMsg == "" {
		e.publicMsg = publicMsgPrefix
	} else {
		e.publicMsg = publicMsgPrefix + " - " + e.publicMsg
	}
}
// Merge in the given info and public message parts into this error