UI
--

*   Heavily prefer unix filter UI.

    If you can't do it with filtering, it could mean you should
    split your function anyway.

*   Even function can use dash options and even `usagef()`.

*   Reserved options are

     *  `-q|--quiet`, to turn off verbosity,
     *  `-v|--verbose`, to turn on verbosity,
     *  and `-d|--debug` to turn on debug output (stderr).

*   Do not `think()` in functions.

*   Preferred capitalization in messages is:

    *   all small for libs (debug/warn/die)

    *   First cap for scripts

*   Message width:

    *   think/warn/die: try hard to never exceed 72

    *   debug: do what you must

    *   always try to split message to fixed part, colon and  *before* colon and
        the "data" part after the colon, e.g.:

            file missing: /var/run/media/somebody/some-medium/some-long/path

        instead of:

            file /var/run/media/somebody/some-medium/some-long/path is missing
 
        (even if you think that it will be short)




PRINCIPLES
----------

Be smart but honest: if you can default, default, otherwise be honest = fail

Don't talk.  `think()` instead.