This only pushes the responsibility down lower in the stack. Somewhere someone would have to handle a state where we have data and error being nil at the same time.
One good thing about this is not having to push down anything to do with logging or reporting into subcomputations.