Understanding TypeScript Brand Types