This implementation realizes operators as functions and creates types of kind 'function'.
If Typir does not use the function kind so far, it will be automatically added.
There are some differences between operators and functions: operators have no declaration, it is not possible to have references to operators
The same operator (i.e. same operator name, e.g. "+" or "and") with different types for its operands will be realized as different function types,
e.g. there are two functions for "+" for numbers and for strings.
When specifying multiple names, for each name one operator is created with the given type (variant)s.
This allows to define multiple operators with the same signature (input and output types), but different names at once.
This implementation realizes operators as functions and creates types of kind 'function'. If Typir does not use the function kind so far, it will be automatically added. There are some differences between operators and functions: operators have no declaration, it is not possible to have references to operators
The same operator (i.e. same operator name, e.g. "+" or "and") with different types for its operands will be realized as different function types, e.g. there are two functions for "+" for numbers and for strings.
When specifying multiple names, for each name one operator is created with the given type (variant)s. This allows to define multiple operators with the same signature (input and output types), but different names at once.
All operands are mandatory.