Erased node type, represents a typed Node with types kept inside.
It is a function, as it should operate with nodes constructor types
and to "compose" untyped nodes.
Compute the result of the node and cast to type T.
Get the typed node without its computation.
Compute the result of the node.