Given the following union type:
type Foo = \'a\' | \'b\' | \'c\';
I know that I can make sure that an object contains all keys declared in th