Right now, `Command::execute()` returns `int|void`. I'd suggest we should deprecate returning void (or null) by throwing a deprecation when the method returns a non-int, in `Application`. We would need to update all core commands to `return 0;` where they `return;` right now. And in 5.0, we would make returning a non-int throw an exception, in preparation for adding a real return type in 6.0. Help wanted.