The default arm: in-memory storage, which takes no configuration.
It deliberately declares NO options member. The previous
MemoryProviderOptions = Record<string, never> is what produced X8-11's
symptom, and discriminating the outer union alone did NOT remove it —
measured: with that member present, one unknown key inside an 's3' literal
still reported bucket and region as not assignable to type 'never',
because the compiler keeps every arm's options type as a candidate for the
nested literal once the direct match fails. Without it there is exactly one
error, and it names the offending key.
The default arm: in-memory storage, which takes no configuration.
It deliberately declares NO
optionsmember. The previousMemoryProviderOptions = Record<string, never>is what produced X8-11's symptom, and discriminating the outer union alone did NOT remove it — measured: with that member present, one unknown key inside an's3'literal still reportedbucketandregionasnot assignable to type 'never', because the compiler keeps every arm'soptionstype as a candidate for the nested literal once the direct match fails. Without it there is exactly one error, and it names the offending key.