Recursion, old version

newtype HsExp  = Exp (E HsExp HsPat [HsDecl] HsType [HsType]
newtype HsDecl = Dec (D HsExp HsPat [HsDecl] HsType [HsType] HsType
newtype HsPat  = Pat (P HsPat)
newtype HsType = Typ (T HsTyp)