/** * Nominal / branded type: compile-time-only tag to distinguish otherwise * structurally-equal types. * * type PersonId = Brand * type RelId = Brand * * PersonId and RelId are still strings at runtime but aren't assignable * to each other without an explicit cast. */ export type Brand = T & { readonly __brand: B }