getopts: format failure messages with `Show`