title: Best way to represent a parameterized enum in C#?
body: <p>Are there any good solutions to represent a parameterized enum in <code>C# 3.0</code>? I am looking for something like <a href="http://www.ocaml.org" rel="nofollow noreferrer">OCaml</a> or <a href="http://www.haxe.org" rel="nofollow noreferrer">Haxe</a> has. I can only think of class hierarchy with a simple enum field for easy switching for now, maybe there are better ideas?</p>
  
  <p>See Ocaml example below in one of the replies, a Haxe code follows:</p>
  
  <pre><code>enum Tree {
     Node(left: Tree, right: Tree);
     Leaf(val: Int);
  }
  </code></pre>