• Simon Peyton Jones's avatar
    Add TyCon.checkRecTc, and use in in typeArity · a1a67b58
    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
Coercion.lhs 49.6 KB