What type constraints must the left-hand side of an arithmetic operation meet in TypeScript?
A) Must be 'undefined', 'null', 'boolean', 'string', 'symbol', 'bigint', or an object type.
B) Must be 'any', 'number', 'bigint', or an enum type.
C) Must be a primitive type or 'undefined'.
D) Must be 'null', 'number', 'bigint', or an enum type.