title: Syntax of the type SortedDictionary<(Of <(<'TKey, TValue>)>)>..::..Enumerator
body: <p>According to <a href="http://msdn.microsoft.com/en-us/library/1z8z05h2%28v=VS.100%29.aspx" rel="nofollow">MSDN</a>:</p>
  
  <pre><code>SortedDictionary&lt;(Of &lt;(&lt;'TKey, TValue&gt;)&gt;)&gt;..::..Enumerator
  </code></pre>
  
  <p>is the return type in .Net 4.0 of the SortedDictionary GetEnumerator method. What in the world does this syntax mean. Certainly I am familiar with typical generics e.g. </p>
  
  <pre><code>public class MyClass&lt;A,B&gt; where A : C
  </code></pre>
  
  <p>but I don't know how to parse much of this declaration. What is <code>Of</code>, what is the the <code>'</code> before TKey for, are the parenthesis meant to improve readability or are they necessary and what is the <code>..::..</code> ?</p>