<br>Just something I have been wondering.<br><br>I would like to implement somehting like:<br><br>type family F a :: * -&gt; *<br>...<br>class C a b where ...<br>instance (F a ~ F b) =&gt; C a b where ...<br><br>But apparently type equality coercions can not be used as a single context. If I enable -fallow-undecidable-instances, whenever the equality does not hold, the instance returns a compile error, what does make sense.<br>
<br>Is there any way I could overcome this?<br><br>Thanks,<br>hugo<br>