<p dir="ltr"><br>
On Mar 20, 2015 6:39 PM, "Chris Wong" <<a href="mailto:lambda.fairy@gmail.com">lambda.fairy@gmail.com</a>> wrote:</p>
<p dir="ltr">> In this form we can see why your code works that way. This inner<br>
> function only needs the Functor instances when it is *called*, not<br>
> when it's constructed. So GHC defers resolving the constraints until<br>
> the function is used.</p>
<p dir="ltr">Isn't this the same sort of situation that makes DatatypeContexts bad? In the GADT version with the constraints pulled outward, we can pattern match to get access to the dictionaries. Here, we pattern match to get something that demands, but does not use, a constraint. When is this useful?</p>