-
Simon Peyton Jones authored
This just formalises an abstraction we've been using anyway, namely to expand "recursive" TyCons until we see them twice. We weren't doing this in typeArity, and that inconsistency was leading to a subsequent ASSERT failure, when compiling Stream.hs, which has a newtype like this newtype Stream m a b = Stream (m (Either b (a, Stream m a b)))
a1a67b58