nit-pick: we could just let menu accept a variable number of arguments and use `arguments` to rid the user of the necessity of adding the square braces `[...]` around each menu item.  Not push-blocking by any means, but a nice to have.