title: JConstructor and JRaw in Json.NET
body: <p>According to <a href="https://stackoverflow.com/a/25351677/4610370">this</a> answer on StackOverflow:</p>
  
  <blockquote>
    <p>Json.NET includes many features which are not part of JSON specification. In particular, it allows parsing some JSON files which are "officially" invalid. This includes unquoted properties, comments, constructors etc.</p>
  </blockquote>
  
  <p>These are all the types assignable from <code>JToken</code>:</p>
  
  <pre><code>JArray
  JConstructor
  JContainer
  JObject
  JProperty
  JRaw
  JValue
  </code></pre>
  
  <p>Please tell if the following are true:</p>
  
  <ol>
  <li><p>It is not possible that <code>JToken.Parse(json)</code> on an "officially" valid json will in its descendants contain <code>JConstructor</code> or <code>JRaw</code>.</p></li>
  <li><p>Provided that a json is "officially" valid, one can expect only the following types to see in those descendants: <code>JArray</code>, <code>JObject</code>, <code>JProperty</code>, <code>JValue</code>.</p></li>
  </ol>