<div dir="ltr"><div><div>Given that neither `a` nor `b` are used in the data type, you could also make `Foobar` kind-polymorphic:<br><br></div>{-# LANGUAGE PolyKinds #-}<br></div>data Foobar a b = Foobar<br><div><div><br></div><div>You can check that GHC has inferred polymorphic kinds by asking for information in a GHCi prompt:<br></div><div><br>Prelude> :info Foobar<br>data Foobar (a :: k1) (b :: k2) = Foobar<br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-07-26 12:55 GMT+02:00 Ivan Lazar Miljenovic <span dir="ltr"><<a href="mailto:ivan.miljenovic@gmail.com" target="_blank">ivan.miljenovic@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 26 July 2016 at 20:36, Michael Roth <<a href="mailto:list@mroth.net">list@mroth.net</a>> wrote:<br>
> Hi,<br>
><br>
> if I have:<br>
><br>
>     data Foobar a b = Foobar<br>
><br>
> it has kind:<br>
><br>
>     * -> * -> *<br>
><br>
> How can I force the kind to:<br>
><br>
>      (* -> *) -> * -> *<br>
<br>
</span>{-# LANGUAGE KindSignatures #-}<br>
<br>
data Foobar (a :: * -> *) (b :: *) = Foobar<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Ivan Lazar Miljenovic<br>
<a href="mailto:Ivan.Miljenovic@gmail.com">Ivan.Miljenovic@gmail.com</a><br>
<a href="http://IvanMiljenovic.wordpress.com" rel="noreferrer" target="_blank">http://IvanMiljenovic.wordpress.com</a><br>
</font></span><div class="HOEnZb"><div class="h5">_______________________________________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
Only members subscribed via the mailman list are allowed to post.</div></div></blockquote></div><br></div>