Recursion, current version

newtype HsExpI  i = Exp (EI i (HsExpI i) (HsPatI i) [HsDeclI i] (HsTypeI i) [HsType i]
newtype HsDeclI i = Dec (DI i (HsExpI i) (HsPatI i) [HsDeclI i] (HsTypeI i) [HsTypeI i] (HsTypeI i)
newtype HsPatI  i = Pat (PI i (HsPatI i))
newtype HsTypeI i = Typ (TI i (HsTypI i))

Backwards compatibility

type HsExp = HsExpI HsName
...