title: Recursive tuple
body: <p>I am trying to create a recursive Tuple in C#. One side is a reference a class, and the other side goes into recursion to a likewise datastructure. The right side can be null, and this is when the recursion ends.</p>
  
  <p>At the moment I am using an alias, but this does not seem to work.</p>
  
  <pre><code>using Relation = System.Tuple&lt;Node, Relation&gt;;
  </code></pre>
  
  <p>Directly typing this is not possible, as this goes infinite.</p>
  
  <pre><code>System.Tuple&lt;Node, System.Tuple&lt;Node, System.Tuple&lt;Node, ...&gt;&gt;&gt;
  </code></pre>
  
  <p>1.
  Is this possible in C#?</p>
  
  <p>2.
  Can I do this with aliases?</p>
  
  <p><strong>Extra info</strong></p>
  
  <p>I am doing this because I need to keep track the parent of each node. A node can have multiple children. I cannot edit the node class.</p>
  
  <p>I only need to go up the hierarchy. i.e. I don't need to know a nodes children. I use this for an algorithm where I calculate alot of nodes, and when I find one, I want to find the path to it from bottom to root.</p>