Sorry, I got a bit lost in this discussion. Let me try to provide a summary.<br><br>Current status: I have a local branch with the new poly-kinded 
Typeable working fine.<br>It works as described in [1]. It actually allows deriving Typeable for things involving<br>the Constraint kind, but this can be easily disabled. Either way, I think most of this<br>is necessary for whatever might follow next. But I&#39;m not sure of how to push the changes,<br>


because I had to
 make some changes to these repos: array, containers, dph,<br>template-haskell, and vector. Worse, I also had to change time, which 
gets built from<br>a tarball. It might not be worth contacting the authors of these packages for changes<br>if we&#39;re still going to get rid of &quot;deriving Typeable&quot; altogether, so I&#39;ve been holding this<br>


back.<br><br>It&#39;s been proposed to remove the possibility to derive Typeable or write instances for it.<br>I&#39;m supposing the way that this would be implemented would be:<br><br>7.8: Any uses of &quot;deriving Typeable&quot; would give rise to a warning saying that it is no longer<br>


necessary. Any instances of Typeable would give rise to a warning saying that this code<br>is being ignored, and replaced by an internal Typeable instance. Packages might break,<br>or change runtime behaviour due to this change.<br>


<br>7.10: Explicit uses of &quot;deriving Typeable&quot; or instances are an error.<br><br>Regarding split :: (a ~ f i) =&gt; Dict (Typeable f, Typeable i), I&#39;m not sure I can judge how<br>much work that would be. But let&#39;s first try to draft a plan for removing Typeable definitions<br>

from the user, and then consider more extensions.<br><br><br>Cheers,<br>Pedro<br>
<br>[1] <a href="http://hackage.haskell.org/trac/ghc/wiki/GhcKinds/PolyTypeable" target="_blank">http://hackage.haskell.org/trac/ghc/wiki/GhcKinds/PolyTypeable</a><br><br><div class="gmail_quote">On Tue, Oct 16, 2012 at 8:32 AM, Emil Axelsson <span dir="ltr">&lt;<a href="mailto:emax@chalmers.se" target="_blank">emax@chalmers.se</a>&gt;</span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">2012-10-15 23:50, Gábor Lehel skrev:<div><div><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Mon, Oct 15, 2012 at 7:58 AM, Emil Axelsson &lt;<a href="mailto:emax@chalmers.se" target="_blank">emax@chalmers.se</a>&gt; wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
I have a use case:<br>
<br>
<br>
<a href="http://hackage.haskell.org/packages/archive/syntactic/1.3/doc/html/Data-DynamicAlt.html" target="_blank">http://hackage.haskell.org/<u></u>packages/archive/syntactic/1.<u></u>3/doc/html/Data-DynamicAlt.<u></u>html</a><br>



<br>
This is a reimplementation of Data.Dynamic to support casting type `a` to<br>
`Dynamic` given a constraint `Typeable (a -&gt; b)`:<br>
<br>
   toDyn :: Typeable (a -&gt; b) =&gt; P (a -&gt; b) -&gt; a -&gt; Dynamic<br>
<br>
With your suggestion, it seems I should be able to use the ordinary<br>
Data.Dynamic instead.<br>
<br>
/ Emil<br>
<br>
</blockquote>
<br>
Great! Do you like my plan? Or perhaps know of a better one?<br>
<br>
(Relatedly, *does* this have to go through a separate libraries<br>
process? Or are we considering Typeable as getting completely<br>
replaced, and everything pertaining to it gets discussed here?)<br>
</blockquote>
<br></div></div>
Your plan certainly seems general enough! But I&#39;m afraid I can&#39;t really speak about the implications on libraries etc.<span><font color="#888888"><br>
<br>
/ Emil<br>
</font></span></blockquote></div><br>