úÎ# -Abstract type providing the functionality of :, but additionally supporting hashing and serialization. The  instance is just the  instance for #, so an analogous guarantee holds:  a ==  b if and only if a and b have the same type. A The hashing and serialization functions preserve this equality.  "Concrete" version of  . Converts to the underlying  Converts from the underlying  The  instance is defined by running  on  ::  -> IO Int. ZThis instance actually provides a stronger guarantee than required: it is guaranteed that t1 == t2 if and only if  t1 ==  t2. As the documentation for  notes, "Æ... the actual value of the key may vary from run to run of the program. You should only rely on the equality property, not any actual key value. The relative ordering of keys has no meaning either."        concrete-typerep-0.1Data.ConcreteTypeRepConcreteTypeRepcTypeOf toTypeRep fromTypeRep SerialRepSRbase Data.TypeableTypeRep GHC.ClassesEqCTRunCTRtypeOftoSerial fromSerial$fHashableConcreteTypeRephashable-1.1.2.1 Data.HashableHashableGHC.IOunsafePerformIO typeRepKeyhash