The `System.Type` type contains the properties [IsGenericTypeDefinition](http://msdn.microsoft.com/en-us/library/system.type.isgenerictypedefinition.aspx) and [ContainsGenericParameters](http://msdn.microsoft.com/en-us/library/system.type.containsgenericparameters.aspx). After reading the MSDN documentation I conclude that both properties exist to to check whether a type is an open or closed generic type.

However, I fail to see what the difference is between the two, and when you want to use one over the other.