Compute the result of the node and cast to type T.
Get the typed node without its computation.
Compute the result of the node.
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.