1. A generic type parameter constraint system embodied on a computer readable storage medium comprising: a processor; a memory communicatively coupled to the processor, the memory having stored therein computer-executable instructions to implement the system, including: a generic type parameter component that receives at least one generic type declaration that instantiates a generic type, wherein the at least one generic type declaration includes: a type identifier that uniquely identifies the generic type; a type parameter that is a placeholder for one or more instantiation types that are assigned at instantiation; one or more pattern types that define a set of one or more constraints on the one or more instantiation types of the type parameter; and one or more keywords that define a plurality of different types of comparisons to utilize to determine whether the one or more constraints have been satisfied, wherein the plurality of different comparison types comprises using multiple instantiation types, multiple pattern types and a plurality of different relationships between the instantiation types and pattern types; and a comparison component that determines conformity of instantiation of the generic type by the generic type declaration based upon examining whether assignment of the one or more instantiation types to the type parameter satisfies the one or more constraints defined by the one or more pattern types based on the plurality of different comparison types defined by the one or more keywords, wherein the comparison component generates an error upon the one or more instantiation types not satisfying the one or more constraints defined by the one or more pattern types based on the plurality of different comparison types defined by the one or more keywords, wherein the generic type and the pattern type are defined as types in a type system.