Here's a crazy possibility (not a suggestion, but maybe
food for thought): Make `setq' do `customize-set-variable'
for an option and do what it does now otherwise.
I have been wondering about this too. Are there any arguments for not having setq run the setter of a custom option when available? Is it a performance issue?
Is it a load ordering issue?
If there is no fundamental issue, then this would be great because one wouldn't have to worry about the type of a variable when setting it.