Used as an attribute: add an override to a method.
If called without argument, the function name must consist in a method name,
prefixed with an underscore. The function is added to the method as a
specialization.
If called with a string argument, it is interpreted as the name of the method
to specialize. The function name can then be any valid identifier. This is
useful to allow one override to call a specific override without going through
the dynamic dispatch mechanism.
Used as an attribute: add an override to a method.
If called without argument, the function name must consist in a method name, prefixed with an underscore. The function is added to the method as a specialization.
If called with a string argument, it is interpreted as the name of the method to specialize. The function name can then be any valid identifier. This is useful to allow one override to call a specific override without going through the dynamic dispatch mechanism.