Add TestCoercion instances for IORef and friends
Motivation
IORef
is morally an instance of TestCoercion
, because the term-level equality of p :: IORef a
and q :: IORef b
implies the existence of a Coercion a b
.
The same can be said for a number of other types.
Proposal
Add TestCoercion
instances (or TestEquality
if they are nominal in their type argument) for IORef
, STRef
, MVar
, Chan
(in base) as well as similar types in stm and anywhere else.