Newtonsoft Json.Linq methods generally return the nullable type explicitly. This can be confusing to some users if they are using "var". When method is returning nullable objects, one should always check if an actual value is returned by using the "HasValue" or "HasValues" extension method.
Note that when using a nullable type object, check for value by using "if (type.HasValue)" instead of "if (type == null)". The first way is much cleaner.