> I see this is because most statically typed languages have nominal typing and not structural typing.
I don't think that's it. I think what's needed is an accumulator method for error interfaces so that you can accumulate new errors into existing errors.