The Requirement.message only seems to print when there's a fatal error, which doesn't ever happen here.
I can concede on the caveats... not really this formula's fault if the user doesn't see/read the prior caveats (either during this install or prior)

sidenote: the formulae that use tuntap are fairly inconsistent:
- openconnect lists non-conditional caveats, and only refers the user to an external tuntaposx installer (vs homebrew)
- aiccup lists non-conditional caveats but mentions both external+homebrew options
- peervpn/mierdo depends on tuntap exclusively w/o checking for 3rd party (would have to check if tuntap is actually needed to compile, or for runtime only)

the simplest solution is just to `require "tuntap"` and nix any caveats - even if a 3rd party is already installed it won't error unless you try to run the tuntap caveats to install the devices over the 3rd party ones.