<div dir="ltr"><div><div><div><div><div>I am working on the Trees that Grow stuff, and hit a small problem<br><br></div>I have <br><br>type family XIB               x thing<br>type family XNewImplicitBndrs x thing<br><br>type ForallXImplicitBndrs (c :: * -> Constraint) (x :: *) (thing :: *) =<br>       ( c (XIB               x thing)<br>       , c (XNewImplicitBndrs x thing)<br>       )<br><br></div>and I want to extend the DataId constraint<br><br>type DataId p =<br>  ( Data p<br><br>  , ForallXImplicitBndrs Data p thing<br>  )<br><br></div>But the problem is I do not have `thing` at this point, and to get it in the code will involve some hs-boot nastiness.<br><br></div>Is there any way to require "forall thing. Data thing" inside the DataId constraint?<br><br></div>Alan<br></div>