>> I tend to agree. If the type doesn't accept the value, you can use >> something lower-level than `setopt` [...] > What would that be in case the option has a custom setter function?
AFAIK people used `setq` before `setopt`. For vars that come with setter functions, this usually doesn't work quite the same, but in 99% it's good enough if the `setq` is performed early during startup. You can also (put '<SYM> 'custom-type t) if you want to disable type-checking for a specific variable. Stefan