I encouraged him to work on returning EXIT_SUCCESS or EXIT_FAILURE in order to better integrate with tools such as git-bisect (which can be used to binary-search the history for code passing a certain condition with a successful shell exit) - beyond that, I couldn't come up with any obvious improvements, what do you think?