By convention the Base error msg is the package name. Consider packages with the same name.
Random string to make Base.msg unique each time constructor is called, add Base.uid field?
Example
// Msg is the same, but error cause must be unique
var ErrBaseA = errors.NewCause("xxx")
var ErrBaseB = errors.NewCause("xxx")
By convention the Base error msg is the package name. Consider packages with the same name.
Random string to make
Base.msgunique each time constructor is called, addBase.uidfield?Example