Registers an inference rule. When inferring the type for a language node, all registered inference rules are checked until the first match.
a new inference rule
OptionalboundToType: Typean optional type, if the new inference rule is dedicated for exactly this type. If the given type is removed from the type system, this rule will be automatically removed as well.
Infers a type for the given language node.
the language node whose type shall be inferred
the found Type or some inference problems (might be empty), when none of the inference rules were able to infer a type
OptionalboundToType: Type
Collects an arbitrary number of inference rules and allows to infer a type for a given language node.