100% correct...when one controls the code base in question. For the many packages out there with strict types in their defcustom definitions and with many/most users using setq over customize, there will be lots of surprise for simple cases like this when they try setopt. Perhaps more vocal advisories for package authors to provide updates (though many seem fallow), and for users might be sufficient without resorting to monkey patching. Most, I suspect, will just revert to setq and ignore custom type validations. Most don't even check for the presence of setters and I've assisted many in my circles with their resulting heisenbugs.