sambeau parent
That's deliberate to stop you trying to compose functions that return errors. You should be explicitly handling the errors before you compose.
great, except 99% of the time I want to handle the error by bubbling it up to a top level routine.
From my experience, "handling" the error means wrapping it in another error and returning, which is what you get from other languages for free.