It is possible to force the type parameters of a generic class to implement a protocol, for example, Equatable
<Type: Equatable>TypeTypeTypeType
Whenever we create a new MyGenericClass, the type parameter has to implement the Equatable protocol (ensuring the type parameter can be compared to another variable of the same type using ==)
DoubleString[Int]Int