title: IsPrimitive doesn't include nullable primitive values
body: <p>I want to check if a Type is primitive or not and used the following code:</p>
  
  <pre><code>return type.IsValueType &amp;&amp; type.IsPrimitive;
  </code></pre>
  
  <p>This works fine aslong as the primitive isnt nullable. For example int?, how can I check if the type is a nullable primitive type? (FYI: <code>type.IsPrimitive == false</code> on int?)</p>