(module GRAMMAR_CORE-sig (planet chongkai/sml) (#%module-begin (Program: (SIGDECTopDec: (SigDec: (SigBind: (SigId: GRAMMAR_CORE-sig) (SIGSigExp: (SEQSpec: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: Info-type))) (SEQSpec: (SEQSpec: (INCLUDESpec: (WHERETYPESigExp: (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: SCon-type)))) (TyVarseq:) (LongTyCon: SCon-type) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: SCon.SCon-type))))))) (EMPTYSpec:)) (SEQSpec: (SEQSpec: (INCLUDESpec: (WHERETYPESigExp: (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: Lab-type)))) (TyVarseq:) (LongTyCon: Lab-type) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Lab.Lab-type))))))) (EMPTYSpec:)) (SEQSpec: (SEQSpec: (INCLUDESpec: (WHERETYPESigExp: (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: VId-type)))) (TyVarseq:) (LongTyCon: VId-type) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: VId.Id-type))))))) (EMPTYSpec:)) (SEQSpec: (SEQSpec: (INCLUDESpec: (WHERETYPESigExp: (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: TyCon-type)))) (TyVarseq:) (LongTyCon: TyCon-type) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: TyCon.Id-type))))))) (EMPTYSpec:)) (SEQSpec: (SEQSpec: (INCLUDESpec: (WHERETYPESigExp: (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: TyVar-type)))) (TyVarseq:) (LongTyCon: TyVar-type) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: TyVar.TyVar-type))))))) (EMPTYSpec:)) (SEQSpec: (SEQSpec: (INCLUDESpec: (WHERETYPESigExp: (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: StrId-type)))) (TyVarseq:) (LongTyCon: StrId-type) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: StrId.Id-type))))))) (EMPTYSpec:)) (SEQSpec: (SEQSpec: (INCLUDESpec: (WHERETYPESigExp: (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: longVId-type)))) (TyVarseq:) (LongTyCon: longVId-type) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: LongVId.longId-type))))))) (EMPTYSpec:)) (SEQSpec: (SEQSpec: (INCLUDESpec: (WHERETYPESigExp: (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: longTyCon-type)))) (TyVarseq:) (LongTyCon: longTyCon-type) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: LongTyCon.longId-type))))))) (EMPTYSpec:)) (SEQSpec: (SEQSpec: (INCLUDESpec: (WHERETYPESigExp: (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: longStrId-type)))) (TyVarseq:) (LongTyCon: longStrId-type) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: LongStrId.longId-type))))))) (EMPTYSpec:)) (SEQSpec: (DATATYPESpec: (DatDesc: (TyVarseq:) (TyCon: Op-type) (ConDesc: (VId: SANSOp) (ConDesc: (VId: WITHOp))))) (SEQSpec: (DATATYPESpec: (DatDesc: (TyVarseq:) (TyCon: AtExp-type) (ConDesc: (VId: SCONAtExp) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: SCon-type))))) (ConDesc: (VId: IDAtExp) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Op-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: longVId-type)))))) (ConDesc: (VId: RECORDAtExp) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: ExpRow-type))) (LongTyCon: option-type))))) (ConDesc: (VId: LETAtExp) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Dec-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: Exp-type)))))) (ConDesc: (VId: PARAtExp) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Exp-type))))) (ConDesc: (VId: SEQAtExp) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Exp-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: AtExp-type)))))))))))) (DatDesc: (TyVarseq:) (TyCon: ExpRow-type) (ConDesc: (VId: ExpRow) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Lab-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: Exp-type)) (TyRow: (Lab: |4|) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: ExpRow-type))) (LongTyCon: option-type)))))))) (DatDesc: (TyVarseq:) (TyCon: Exp-type) (ConDesc: (VId: ATExp) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: AtExp-type))))) (ConDesc: (VId: APPExp) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Exp-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: AtExp-type)))))) (ConDesc: (VId: COLONExp) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Exp-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: Ty-type)))))) (ConDesc: (VId: HANDLEExp) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Exp-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: Match-type)))))) (ConDesc: (VId: RAISEExp) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Exp-type))))) (ConDesc: (VId: FNExp) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Match-type))))) (ConDesc: (VId: IFExp) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Exp-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: Exp-type)) (TyRow: (Lab: |4|) (CONTy: (Tyseq:) (LongTyCon: Exp-type)))))))))))))) (DatDesc: (TyVarseq:) (TyCon: Match-type) (ConDesc: (VId: Match) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Mrule-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: Match-type))) (LongTyCon: option-type))))))) (DatDesc: (TyVarseq:) (TyCon: Mrule-type) (ConDesc: (VId: Mrule) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Pat-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: Exp-type))))))) (DatDesc: (TyVarseq:) (TyCon: Dec-type) (ConDesc: (VId: VALDec) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: TyVarseq-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: ValBind-type)))))) (ConDesc: (VId: TYPEDec) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: TypBind-type))))) (ConDesc: (VId: DATATYPEDec) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: DatBind-type))))) (ConDesc: (VId: DATATYPE2Dec) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: TyCon-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: longTyCon-type)))))) (ConDesc: (VId: ABSTYPEDec) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: DatBind-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: Dec-type)))))) (ConDesc: (VId: EXCEPTIONDec) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: ExBind-type))))) (ConDesc: (VId: LOCALDec) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Dec-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: Dec-type)))))) (ConDesc: (VId: OPENDec) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: longStrId-type))) (LongTyCon: list-type))))) (ConDesc: (VId: EMPTYDec) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (ConDesc: (VId: SEQDec) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Dec-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: Dec-type)))))))))))))))) (DatDesc: (TyVarseq:) (TyCon: ValBind-type) (ConDesc: (VId: PLAINValBind) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Pat-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: Exp-type)) (TyRow: (Lab: |4|) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: ValBind-type))) (LongTyCon: option-type))))))) (ConDesc: (VId: RECValBind) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: ValBind-type))))))) (DatDesc: (TyVarseq:) (TyCon: TypBind-type) (ConDesc: (VId: TypBind) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: TyVarseq-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: TyCon-type)) (TyRow: (Lab: |4|) (CONTy: (Tyseq:) (LongTyCon: Ty-type)) (TyRow: (Lab: |5|) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: TypBind-type))) (LongTyCon: option-type))))))))) (DatDesc: (TyVarseq:) (TyCon: DatBind-type) (ConDesc: (VId: DatBind) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: TyVarseq-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: TyCon-type)) (TyRow: (Lab: |4|) (CONTy: (Tyseq:) (LongTyCon: ConBind-type)) (TyRow: (Lab: |5|) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: DatBind-type))) (LongTyCon: option-type))))))))) (DatDesc: (TyVarseq:) (TyCon: ConBind-type) (ConDesc: (VId: ConBind) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Op-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: VId-type)) (TyRow: (Lab: |4|) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: Ty-type))) (LongTyCon: option-type)) (TyRow: (Lab: |5|) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: ConBind-type))) (LongTyCon: option-type))))))))) (DatDesc: (TyVarseq:) (TyCon: ExBind-type) (ConDesc: (VId: NEWExBind) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Op-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: VId-type)) (TyRow: (Lab: |4|) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: Ty-type))) (LongTyCon: option-type)) (TyRow: (Lab: |5|) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: ExBind-type))) (LongTyCon: option-type)))))))) (ConDesc: (VId: EQUALExBind) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Op-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: VId-type)) (TyRow: (Lab: |4|) (CONTy: (Tyseq:) (LongTyCon: Op-type)) (TyRow: (Lab: |5|) (CONTy: (Tyseq:) (LongTyCon: longVId-type)) (TyRow: (Lab: |6|) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: ExBind-type))) (LongTyCon: option-type))))))))))) (DatDesc: (TyVarseq:) (TyCon: AtPat-type) (ConDesc: (VId: WILDCARDAtPat) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (ConDesc: (VId: SCONAtPat) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: SCon-type))))) (ConDesc: (VId: IDAtPat) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Op-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: longVId-type)))))) (ConDesc: (VId: RECORDAtPat) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: PatRow-type))) (LongTyCon: option-type))))) (ConDesc: (VId: PARAtPat) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Pat-type)))))))))) (DatDesc: (TyVarseq:) (TyCon: PatRow-type) (ConDesc: (VId: DOTSPatRow) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (ConDesc: (VId: FIELDPatRow) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Lab-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: Pat-type)) (TyRow: (Lab: |4|) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: PatRow-type))) (LongTyCon: option-type))))))))) (DatDesc: (TyVarseq:) (TyCon: Pat-type) (ConDesc: (VId: ATPat) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: AtPat-type))))) (ConDesc: (VId: CONPat) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Op-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: longVId-type)) (TyRow: (Lab: |4|) (CONTy: (Tyseq:) (LongTyCon: AtPat-type))))))) (ConDesc: (VId: COLONPat) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Pat-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: Ty-type)))))) (ConDesc: (VId: ASPat) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Op-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: VId-type)) (TyRow: (Lab: |4|) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: Ty-type))) (LongTyCon: option-type)) (TyRow: (Lab: |5|) (CONTy: (Tyseq:) (LongTyCon: Pat-type)))))))))))) (DatDesc: (TyVarseq:) (TyCon: Ty-type) (ConDesc: (VId: VARTy) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: TyVar-type))))) (ConDesc: (VId: RECORDTy) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: TyRow-type))) (LongTyCon: option-type))))) (ConDesc: (VId: CONTy) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Tyseq-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: longTyCon-type)))))) (ConDesc: (VId: ARROWTy) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Ty-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: Ty-type)))))) (ConDesc: (VId: PARTy) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Ty-type)))))))))) (DatDesc: (TyVarseq:) (TyCon: TyRow-type) (ConDesc: (VId: TyRow) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Lab-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: Ty-type)) (TyRow: (Lab: |4|) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: TyRow-type))) (LongTyCon: option-type)))))))) (DatDesc: (TyVarseq:) (TyCon: Tyseq-type) (ConDesc: (VId: Tyseq) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: Ty-type))) (LongTyCon: list-type)))))) (DatDesc: (TyVarseq:) (TyCon: TyVarseq-type) (ConDesc: (VId: TyVarseq) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: TyVar-type))) (LongTyCon: list-type))))))))))))))))))))))))) (SEQSpec: (VALSpec: (ValDesc: (VId: infoAtExp) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: AtExp-type)) (CONTy: (Tyseq:) (LongTyCon: Info-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: infoExpRow) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: ExpRow-type)) (CONTy: (Tyseq:) (LongTyCon: Info-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: infoExp) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: Exp-type)) (CONTy: (Tyseq:) (LongTyCon: Info-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: infoMatch) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: Match-type)) (CONTy: (Tyseq:) (LongTyCon: Info-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: infoMrule) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: Mrule-type)) (CONTy: (Tyseq:) (LongTyCon: Info-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: infoDec) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: Dec-type)) (CONTy: (Tyseq:) (LongTyCon: Info-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: infoValBind) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: ValBind-type)) (CONTy: (Tyseq:) (LongTyCon: Info-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: infoTypBind) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: TypBind-type)) (CONTy: (Tyseq:) (LongTyCon: Info-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: infoDatBind) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: DatBind-type)) (CONTy: (Tyseq:) (LongTyCon: Info-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: infoConBind) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: ConBind-type)) (CONTy: (Tyseq:) (LongTyCon: Info-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: infoExBind) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: ExBind-type)) (CONTy: (Tyseq:) (LongTyCon: Info-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: infoAtPat) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: AtPat-type)) (CONTy: (Tyseq:) (LongTyCon: Info-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: infoPatRow) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: PatRow-type)) (CONTy: (Tyseq:) (LongTyCon: Info-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: infoPat) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: Pat-type)) (CONTy: (Tyseq:) (LongTyCon: Info-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: infoTy) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: Ty-type)) (CONTy: (Tyseq:) (LongTyCon: Info-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: infoTyRow) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: TyRow-type)) (CONTy: (Tyseq:) (LongTyCon: Info-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: infoTyseq) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: Tyseq-type)) (CONTy: (Tyseq:) (LongTyCon: Info-type))))) (VALSpec: (ValDesc: (VId: infoTyVarseq) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: TyVarseq-type)) (CONTy: (Tyseq:) (LongTyCon: Info-type)))))))))))))))))))))))))))))))))))))))))