typeNonZero<Numberextendsnumber> = Numberextends0 ? "cannot be 0" : Numberconst div = <Divisorextendsnumber>(dividend: number, divisor: NonZero<Divisor>) =>
dividend / divisor
div(1, 0)
// ✅ Does not compile// Argument of type '0' is not assignable to parameter of type '"cannot be 0"'