<div dir="ltr">If you want to have something that can ignore a variable, you can just fill it in with ().  T Int Char () (), then have a function :: T a b () () -> IO ().  You can clean it up a little by making type aliases.  type T2 a b = T a b () (), type T3 a b c = T a b c ().<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Aug 22, 2016 at 7:32 AM, Imants Cekusins <span dir="ltr"><<a href="mailto:imantc@gmail.com" target="_blank">imantc@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">T' and T a b seem to not mix well.<div><br></div><div>T' can not be passed to a function expecting T a b and vice versa</div><div><br></div><div>any suggestions?<br>​</div></div>
<br>______________________________<wbr>_________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org">Beginners@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-<wbr>bin/mailman/listinfo/beginners</a><br>
<br></blockquote></div><br></div>