What type of PR is this?
What this PR does / why we need it:
The error handling using BeforeFunc is now harmonized between App#RunContext, App#RunAsSubcommand & Command#Run.
Which issue(s) this PR fixes:
Yup, my bad should have seen this one.
There's a lot of logic like this that I'd like to see centralized. There are subtle reasons why it's not that way right now, such as repeated logic for different types or handling named return parameters. Not that it can't be improved—it absolutely can be. But it's not necessarily easy.