```ts const M = Symbol(); export type Nominal<Name extends string, Type> = Type & { readonly [M]: [Name]; }; ``` Works with all the examples mentioned in readme.md check it out : https://codesandbox.io/s/nominal-types-l8k9ti?file=/src/nominal.ts