Generic Math and Comparison Operators will be obsoleted as part of the effort to eliminate type ambiguity and boxing. They are the sole reason why OperatorUtility needs to be used, which causes a performance bottleneck in the new generated runtime and a need to generate otherwise useless AOT stubs for all reflected member operators in the extractor settings.

Instead, operators found during extraction of custom types like VectorX will be included as InvokeMember units with a specifically designed widget that removes the control ports and matches the look of the scalar math and equality operators. To avoid duplicates, custom math units that currently provide operator functionality on vectors will have to be obsoleted as well.

These units will therefore be deprecated:

The following units will be renamed to avoid confusion:

Comparison will need to be moved to its own category with type subcategories to properly organize all reflected comparison operators. Like Math, it will have a special Scalar category for floats, which do not have reflected operators at the CLR level.

The following units will be added for scalar comparison: