String a value type part of generics constraint
<p>If string is a value type, which I assume it is, why would the following declaration be legal:</p>

<pre><code>struct Refsample&lt;T&gt; where T : class

RefSameple&lt;string&gt;; //why is it legal?
</code></pre>

<p>Taken from the C# in depth, page 75</p>
