It looks like flag.Usage is called whenever there is an error parsing flags -- I guess that means if they try to set an integer flag to something that doesn't parse.  I think it's worth keeping this functionality, e.g.

```go
flag.Usage = func() { usage(1) }
```