A small change to #Go that I think would have been an easy sell before 1.0, but isn't worth the change today:
- `main()` returns `error`
- `os.Exit()` takes an `error` arg instead of an `int`
- there is an auxiliary interface along the lines of `type ExitError interface { ExitCode() int }` that if if the error implements it controls the numeric exit code; otherwise nil is 0 and non-nil is 1.
Bonus, but maybe a little harder sell:
- no `os.Exit()`; only way to exit is by returning from main