|Pathologically Eclectic Rubbish Lister|
> What information do you need to pass so that someone (not necessarily the direct caller) can fix the error?
Thanks for nailing it.
In the demonstrated case the direct caller must react and the details of the error are only relevant for STDERR.
And it doesn't stop me catching fatals on a higher call level with try/catch.
> only in the (exotic, IMHO) case where every value, including undef, is a valid return value.
Please note that that's not a problem in the demonstrated model with list assignments.
One can safely return undef.
I.e. only an empty return counts as error.