Allows one branch to be passed as an argument, and produces more specific exit codes