The warning messages can be misleading. e.g., when trying to set tab-bar-format-tabs-groups to include a simple lambda, it complains about the wrong thing. It does match the hook type, but does not match the hard-coded list of options.

   (setopt tab-bar-format
           `(
             tab-bar-format-tabs-groups
             (lambda () " ") ; tab-bar-separator
    ))

 ■  Warning (emacs): Value '(nil tab-bar-format-tabs-groups (lambda nil " "))' does not match type hook

On Fri, Sep 13, 2024 at 3:26 PM Ship Mints <shipmints@gmail.com> wrote:
It was removed in a later proposed edit. I read the setopt code more deeply and ran some tests.

On Fri, Sep 13, 2024 at 3:09 PM Stefan Monnier <monnier@iro.umontreal.ca> wrote:
> If you encounter a discrepancy that cannot be addressed by amending
> the type specified by a setopt call, and you can deem the desired
> type compatible nonetheless, use setq. If the user option has an
> associated \"setter\" you may invoke it manually using ???"

You're here trying to describe workarounds to use in case of bugs
(either the value you set is wrong, or the type (or type-checker) is
wrong).  We usually don't do that in docstrings.


        Stefan