Modules can have conflicting requirements of global settings that require
weird contortions to interoperate; so starting out by making this yet
another global setting seems like a retrograde step.
So I would like to propose an alternative approach.
Firstly, I would reduce the action to simply "return from function upon
unchecked failure"; the issue is primarily with *invisible* behaviour at a
difference making this difficult to debug.
Secondly I would set this as a per-function attribute, rather than as a
global setting outside the function.
Perhaps
function -E funcname { … }