<br><br><div class="gmail_quote">On Fri, Jul 4, 2008 at 5:03 AM, Manuel M T Chakravarty &lt;<a href="mailto:chak@cse.unsw.edu.au">chak@cse.unsw.edu.au</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
The problem is that blah&#39;s type is ambiguous, as f does only occur as an argument to the type family. &nbsp;If you&#39;d define<div class="Ih2E3d"><br>
<br>
 &nbsp;class Blah f a where<br></div>
 &nbsp; &nbsp;blah :: a -&gt; f -&gt; T f f a<br>
<br>
(and change the rest of the program accordingly) then all will be fine. &nbsp;See this thread for a more in-depth discussion of the problem:<br>
<br>
 &nbsp;<a href="http://www.haskell.org/pipermail/haskell-cafe/2008-April/041385.html" target="_blank">http://www.haskell.org/pipermail/haskell-cafe/2008-April/041385.html</a><br><font color="#888888">
</font></blockquote><div><br>Yes, I was afraid that this was the case. However, the question remains on whether my functional dependencies encoding is correct. A correct encoding would help me understand this typing problem a bit more. Especially, now that Claus showed that adding an equality constraint makes this program work!<br>
<br>Cheers,<br><br>Alexey<br><br></div></div><br>