Let ExitCode exits return Nothing.

This is better than Unit, as it indicates that the program never
completes, which prevents some problems with type unification.