The problem is that the representation probably does not reduce to a normal form.
Hi guys,I have been experimenting some weird stuff (risky, yes I know) but the behaviour was certainly not the one I expected:
{-# OPTIONS -fglasgow-exts -fallow-undecidable-instances #-}
module Nest wheredata Nest a = Nil | Cons a (Nest (a,a))
type family F a x :: *type instance F (Nest a) x = Either () (a,F (Nest (a,a)) x)fnn :: F (Nest Int) (Nest Int)fnn = Left ()The following module fails to compile (or better, compilation never ends).Maybe there is something very bad going on due to the undecidable-instances extension?Any clue?hugo