TypeScript 不允许算术运算符,但我不明白为什么

TypeScript won't allow arithmetic operators but I don't understand why

为什么 TypeScript 在这种情况下会给出 Operator '+' cannot be applied 错误?数字类型基本上没有变化。我有一个不寻常的编码情况,我想删除 number 上的内置方法,如 toExponential,但希望数学运算符仍然有效。是否有某种#pragma 或其他东西可以让它工作?

let x: Omit<number, 'banana'> = 1;
let y: Omit<number, 'banana'> = 2;
let z = x + y;

+ 运算符不适用于该类型。规范中的相关部分:

4.19.2 The + operator

The binary + operator requires both operands to be of the Number primitive type or an enum type, or at least one of the operands to be of type Any or the String primitive type. Operands of an enum type are treated as having the primitive type Number. If one operand is the null or undefined value, it is treated 84 as having the type of the other operand. If both operands are of the Number primitive type, the result is of the Number primitive type. If one or both operands are of the String primitive type, the result is of the String primitive type. Otherwise, the result is of type Any.

(强调我的)

来源:https://javascript.xgqfrms.xyz/pdfs/TypeScript%20Language%20Specification.pdf