@property<EOL><INDENT>@abstractmethod<EOL>def op(self) -> NodeOp:<DEDENT>
Enumerated keyword uniquely identifying this type of Node.

        The type and NodeOp should always be in sync.

        Having a simple enum value in addition to the type allows us to use
        switch-like syntax with Python dictionaries in compiler code, which
        is much faster than performing isinstance checks.