(module PPCore-struct (planet chongkai/sml)
(#%module-begin
(Program:
(STRDECTopDec:
(STRUCTUREStrDec:
(StrBind:
(StrId: PPCore-struct)
(COLONStrExp:
(STRUCTStrExp:
(SEQStrDec:
(DECStrDec: (OPENDec: (LongStrId: GrammarCore-struct)))
(SEQStrDec:
(DECStrDec: (OPENDec: (LongStrId: PPGrammar-struct)))
(SEQStrDec:
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppSCon)))
(FNExp:
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(RECORDAtPat:
(FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: I))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: scon))))))))))))))
(ATExp:
(LETAtExp:
(VALDec:
(TyVarseq:)
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: tag)))
(APPExp:
(ATExp:
(PARAtExp:
(FNExp:
(Match:
(Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SCon.INT) (WILDCARDAtPat:)))) (ATExp: (SCONAtExp: (STRINGSCon: "INT"))))
(Match:
(Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SCon.WORD) (WILDCARDAtPat:)))) (ATExp: (SCONAtExp: (STRINGSCon: "WORD"))))
(Match:
(Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SCon.STRING) (WILDCARDAtPat:)))) (ATExp: (SCONAtExp: (STRINGSCon: "STRING"))))
(Match:
(Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SCon.CHAR) (WILDCARDAtPat:)))) (ATExp: (SCONAtExp: (STRINGSCon: "CHAR"))))
(Match:
(Mrule:
(ATPat: (PARAtPat: (CONPat: (LongVId: SCon.REAL) (WILDCARDAtPat:))))
(ATExp: (SCONAtExp: (STRINGSCon: "REAL"))))))))))))
(PARAtExp: (ATExp: (IDAtExp: (LongVId: scon)))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppAtom)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ^)))
(RECORDAtExp:
(ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: tag))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (STRINGSCon: "SCon")))))))))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: SCon.toString))) (IDAtExp: (LongVId: scon)))))))))))))))))))))))
(SEQStrDec:
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppLab)))
(FNExp:
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(RECORDAtPat:
(FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: I))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: lab))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppAtom)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "Lab")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: Lab.toString))) (IDAtExp: (LongVId: lab)))))))))))))))))))))
(SEQStrDec:
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppVId)))
(FNExp:
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: vid))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppAtom)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "VId")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: VId.toString))) (IDAtExp: (LongVId: vid)))))))))))))))))))))
(SEQStrDec:
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppTyVar)))
(FNExp:
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: tyvar))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppAtom)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "TyVar")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: TyVar.toString))) (IDAtExp: (LongVId: tyvar)))))))))))))))))))))
(SEQStrDec:
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppTyCon)))
(FNExp:
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: tycon))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppAtom)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "TyCon")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: TyCon.toString))) (IDAtExp: (LongVId: tycon)))))))))))))))))))))
(SEQStrDec:
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppStrId)))
(FNExp:
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: strid))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppAtom)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "StrId")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: StrId.toString))) (IDAtExp: (LongVId: strid)))))))))))))))))))))
(SEQStrDec:
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppLongVId)))
(FNExp:
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: longvid))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppAtom)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "LongVId")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: LongVId.toString))) (IDAtExp: (LongVId: longvid)))))))))))))))))))))
(SEQStrDec:
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppLongTyCon)))
(FNExp:
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: longtycon))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppAtom)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "LongTyCon")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: LongTyCon.toString))) (IDAtExp: (LongVId: longtycon)))))))))))))))))))))
(SEQStrDec:
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppLongStrId)))
(FNExp:
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: longstrid))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppAtom)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "LongStrId")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: LongStrId.toString))) (IDAtExp: (LongVId: longstrid)))))))))))))))))))))
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppAtExp)))
(FNExp:
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SCONAtExp)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: scon))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "SCONAtExp")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppSCon)))))
(IDAtExp: (LongVId: scon)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: IDAtExp)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (WILDCARDAtPat:))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: longvid)))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "IDAtExp")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppLongVId)))))
(IDAtExp: (LongVId: longvid)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: RECORDAtExp)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: exprow_opt))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "RECORDAtExp")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: subo))) (IDAtExp: (LongVId: ppExpRow)))))
(IDAtExp: (LongVId: exprow_opt)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: LETAtExp)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: dec)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: exp)))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "LETAtExp")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppDec)))))
(IDAtExp: (LongVId: dec)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppExp)))))
(IDAtExp: (LongVId: exp)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: PARAtExp)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: exp))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "PARAtExp")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppExp)))))
(IDAtExp: (LongVId: exp)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SEQAtExp)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: exp1)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: exp2)))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "SEQAtExp")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppExp)))))
(IDAtExp: (LongVId: exp1)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppAtExp)))))
(IDAtExp: (LongVId: exp2)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil))))))))))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppExpRow)))
(FNExp:
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: ExpRow)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: lab)))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (IDAtPat: (LongVId: exp)))
(FIELDPatRow: (Lab: |4|) (ATPat: (IDAtPat: (LongVId: exprow_opt))))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "ExpRow")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppLab)))))
(IDAtExp: (LongVId: lab)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppExp)))))
(IDAtExp: (LongVId: exp)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: subo))) (IDAtExp: (LongVId: ppExpRow)))))
(IDAtExp: (LongVId: exprow_opt)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppExp)))
(FNExp:
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: ATExp)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: atexp))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "ATExp")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppAtExp)))))
(IDAtExp: (LongVId: atexp)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: APPExp)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: exp)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: atexp)))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "APPExp")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppExp)))))
(IDAtExp: (LongVId: exp)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppAtExp)))))
(IDAtExp: (LongVId: atexp)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: COLONExp)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: exp)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: ty)))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "COLONExp")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppExp)))))
(IDAtExp: (LongVId: exp)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppTy)))))
(IDAtExp: (LongVId: ty)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: HANDLEExp)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: exp)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: match)))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "HANDLEExp")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppExp)))))
(IDAtExp: (LongVId: exp)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppMatch)))))
(IDAtExp: (LongVId: match)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: RAISEExp)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: exp))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "RAISEExp")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppExp)))))
(IDAtExp: (LongVId: exp)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: FNExp)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: match))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "FNExp")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppMatch)))))
(IDAtExp: (LongVId: match)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: IFExp)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: exp1)))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (IDAtPat: (LongVId: exp2)))
(FIELDPatRow: (Lab: |4|) (ATPat: (IDAtPat: (LongVId: exp3))))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "IFExp")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppExp)))))
(IDAtExp: (LongVId: exp1)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppExp)))))
(IDAtExp: (LongVId: exp2)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppExp)))))
(IDAtExp: (LongVId: exp3)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppMatch)))
(FNExp:
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: Match)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: mrule)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: match_opt)))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "Match")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppMrule)))))
(IDAtExp: (LongVId: mrule)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: subo))) (IDAtExp: (LongVId: ppMatch)))))
(IDAtExp: (LongVId: match_opt)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppMrule)))
(FNExp:
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: Mrule)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: pat)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: exp)))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "Mrule")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppPat)))))
(IDAtExp: (LongVId: pat)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppExp)))))
(IDAtExp: (LongVId: exp)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppDec)))
(FNExp:
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: VALDec)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: tyvarseq)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: valbind)))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "VALDec")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppTyVarseq)))))
(IDAtExp: (LongVId: tyvarseq)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppValBind)))))
(IDAtExp: (LongVId: valbind)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: TYPEDec)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: typbind))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "TYPEDec")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppTypBind)))))
(IDAtExp: (LongVId: typbind)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: DATATYPEDec)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: datbind))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "DATATYPEDec")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppDatBind)))))
(IDAtExp: (LongVId: datbind)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: DATATYPE2Dec)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: tycon)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: longtycon)))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "DATATYPE2Dec")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppTyCon)))))
(IDAtExp: (LongVId: tycon)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppLongTyCon)))))
(IDAtExp: (LongVId: longtycon)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: ABSTYPEDec)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: datbind)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: dec)))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "ABSTYPEDec")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppDatBind)))))
(IDAtExp: (LongVId: datbind)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppDec)))))
(IDAtExp: (LongVId: dec)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: EXCEPTIONDec)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: exbind))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "EXCEPTIONDec")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppExBind)))))
(IDAtExp: (LongVId: exbind)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: LOCALDec)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: dec1)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: dec2)))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "LOCALDec")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppDec)))))
(IDAtExp: (LongVId: dec1)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppDec)))))
(IDAtExp: (LongVId: dec2)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: OPENDec)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: longstrids))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "OPENDec")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: subs))) (IDAtExp: (LongVId: ppLongStrId)))))
(IDAtExp: (LongVId: longstrids)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (PARAtPat: (CONPat: (LongVId: EMPTYDec) (PARAtPat: (ATPat: (IDAtPat: (LongVId: I))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "EMPTYDec")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow: (Lab: |5|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SEQDec)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: dec1)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: dec2)))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "SEQDec")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppDec)))))
(IDAtExp: (LongVId: dec1)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppDec)))))
(IDAtExp: (LongVId: dec2)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil))))))))))))))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppValBind)))
(FNExp:
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: PLAINValBind)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: pat)))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (IDAtPat: (LongVId: exp)))
(FIELDPatRow: (Lab: |4|) (ATPat: (IDAtPat: (LongVId: valbind_opt))))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "PLAINValBind")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppPat)))))
(IDAtExp: (LongVId: pat)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppExp)))))
(IDAtExp: (LongVId: exp)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: subo))) (IDAtExp: (LongVId: ppValBind)))))
(IDAtExp: (LongVId: valbind_opt)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: RECValBind)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: valbind))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "RECValBind")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppValBind)))))
(IDAtExp: (LongVId: valbind)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppTypBind)))
(FNExp:
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: TypBind)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: tyvarseq)))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (IDAtPat: (LongVId: tycon)))
(FIELDPatRow:
(Lab: |4|)
(ATPat: (IDAtPat: (LongVId: ty)))
(FIELDPatRow: (Lab: |5|) (ATPat: (IDAtPat: (LongVId: typbind_opt)))))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "TypBind")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppTyVarseq)))))
(IDAtExp: (LongVId: tyvarseq)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppTyCon)))))
(IDAtExp: (LongVId: tycon)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppTy)))))
(IDAtExp: (LongVId: ty)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: subo))) (IDAtExp: (LongVId: ppTypBind)))))
(IDAtExp: (LongVId: typbind_opt)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppDatBind)))
(FNExp:
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: DatBind)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: tyvarseq)))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (IDAtPat: (LongVId: tycon)))
(FIELDPatRow:
(Lab: |4|)
(ATPat: (IDAtPat: (LongVId: conbind)))
(FIELDPatRow: (Lab: |5|) (ATPat: (IDAtPat: (LongVId: datbind_opt)))))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "DatBind")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppTyVarseq)))))
(IDAtExp: (LongVId: tyvarseq)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppTyCon)))))
(IDAtExp: (LongVId: tycon)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppConBind)))))
(IDAtExp: (LongVId: conbind)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: subo))) (IDAtExp: (LongVId: ppDatBind)))))
(IDAtExp: (LongVId: datbind_opt)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppConBind)))
(FNExp:
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: ConBind)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (WILDCARDAtPat:))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (IDAtPat: (LongVId: vid)))
(FIELDPatRow:
(Lab: |4|)
(ATPat: (IDAtPat: (LongVId: ty_opt)))
(FIELDPatRow: (Lab: |5|) (ATPat: (IDAtPat: (LongVId: conbind_opt)))))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "ConBind")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppVId)))))
(IDAtExp: (LongVId: vid)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: subo))) (IDAtExp: (LongVId: ppTy)))))
(IDAtExp: (LongVId: ty_opt)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: subo))) (IDAtExp: (LongVId: ppConBind)))))
(IDAtExp: (LongVId: conbind_opt)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppExBind)))
(FNExp:
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: NEWExBind)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (WILDCARDAtPat:))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (IDAtPat: (LongVId: vid)))
(FIELDPatRow:
(Lab: |4|)
(ATPat: (IDAtPat: (LongVId: ty_opt)))
(FIELDPatRow: (Lab: |5|) (ATPat: (IDAtPat: (LongVId: exbind_opt)))))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "NEWExBind")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppVId)))))
(IDAtExp: (LongVId: vid)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: subo))) (IDAtExp: (LongVId: ppTy)))))
(IDAtExp: (LongVId: ty_opt)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: subo))) (IDAtExp: (LongVId: ppExBind)))))
(IDAtExp: (LongVId: exbind_opt)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: EQUALExBind)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (WILDCARDAtPat:))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (IDAtPat: (LongVId: vid)))
(FIELDPatRow:
(Lab: |4|)
(ATPat: (WILDCARDAtPat:))
(FIELDPatRow:
(Lab: |5|)
(ATPat: (IDAtPat: (LongVId: longvid)))
(FIELDPatRow: (Lab: |6|) (ATPat: (IDAtPat: (LongVId: exbind_opt))))))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "EQUALExBind")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppVId)))))
(IDAtExp: (LongVId: vid)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppLongVId)))))
(IDAtExp: (LongVId: longvid)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: subo))) (IDAtExp: (LongVId: ppExBind)))))
(IDAtExp: (LongVId: exbind_opt)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil))))))))))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppAtPat)))
(FNExp:
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (PARAtPat: (CONPat: (LongVId: WILDCARDAtPat) (PARAtPat: (ATPat: (IDAtPat: (LongVId: I))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "WILDCARDAtPat")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow: (Lab: |5|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: SCONAtPat)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: scon))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "SCONAtPat")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppSCon)))))
(IDAtExp: (LongVId: scon)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: IDAtPat)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (WILDCARDAtPat:))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: longvid)))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "IDAtPat")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppLongVId)))))
(IDAtExp: (LongVId: longvid)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: RECORDAtPat)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: patrow_opt))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "RECORDAtPat")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: subo))) (IDAtExp: (LongVId: ppPatRow)))))
(IDAtExp: (LongVId: patrow_opt)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: PARAtPat)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: pat))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "PARAtPat")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppPat)))))
(IDAtExp: (LongVId: pat)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppPatRow)))
(FNExp:
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (PARAtPat: (CONPat: (LongVId: DOTSPatRow) (PARAtPat: (ATPat: (IDAtPat: (LongVId: I))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "DOTSPatRow")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow: (Lab: |5|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: FIELDPatRow)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: lab)))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (IDAtPat: (LongVId: pat)))
(FIELDPatRow: (Lab: |4|) (ATPat: (IDAtPat: (LongVId: patrow_opt))))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "FIELDPatRow")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppLab)))))
(IDAtExp: (LongVId: lab)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppPat)))))
(IDAtExp: (LongVId: pat)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: subo))) (IDAtExp: (LongVId: ppPatRow)))))
(IDAtExp: (LongVId: patrow_opt)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil))))))))))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppPat)))
(FNExp:
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: ATPat)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: atpat))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "ATPat")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppAtPat)))))
(IDAtExp: (LongVId: atpat)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: CONPat)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (WILDCARDAtPat:))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (IDAtPat: (LongVId: longvid)))
(FIELDPatRow: (Lab: |4|) (ATPat: (IDAtPat: (LongVId: atpat))))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "CONPat")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppLongVId)))))
(IDAtExp: (LongVId: longvid)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppAtPat)))))
(IDAtExp: (LongVId: atpat)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: COLONPat)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: pat)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: ty)))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "COLONPat")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppPat)))))
(IDAtExp: (LongVId: pat)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppTy)))))
(IDAtExp: (LongVId: ty)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: ASPat)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (WILDCARDAtPat:))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (IDAtPat: (LongVId: vid)))
(FIELDPatRow:
(Lab: |4|)
(ATPat: (IDAtPat: (LongVId: ty_opt)))
(FIELDPatRow: (Lab: |5|) (ATPat: (IDAtPat: (LongVId: pat)))))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "ASPat")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppVId)))))
(IDAtExp: (LongVId: vid)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: subo))) (IDAtExp: (LongVId: ppTy)))))
(IDAtExp: (LongVId: ty_opt)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppPat)))))
(IDAtExp: (LongVId: pat)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil))))))))))))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppTy)))
(FNExp:
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: VARTy)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: tyvar))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "VARTy")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppTyVar)))))
(IDAtExp: (LongVId: tyvar)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: RECORDTy)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: tyrow_opt))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "RECORDTy")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: subo))) (IDAtExp: (LongVId: ppTyRow)))))
(IDAtExp: (LongVId: tyrow_opt)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: CONTy)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: tyseq)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: longtycon)))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "CONTy")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppTyseq)))))
(IDAtExp: (LongVId: tyseq)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppLongTyCon)))))
(IDAtExp: (LongVId: longtycon)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: ARROWTy)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: ty1)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: ty2)))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "ARROWTy")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppTy)))))
(IDAtExp: (LongVId: ty1)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppTy)))))
(IDAtExp: (LongVId: ty2)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: PARTy)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: ty))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "PARTy")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppTy)))))
(IDAtExp: (LongVId: ty)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppTyRow)))
(FNExp:
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: TyRow)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: lab)))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (IDAtPat: (LongVId: ty)))
(FIELDPatRow: (Lab: |4|) (ATPat: (IDAtPat: (LongVId: tyrow_opt))))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "TyRow")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppLab)))))
(IDAtExp: (LongVId: lab)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppTy)))))
(IDAtExp: (LongVId: ty)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: subo))) (IDAtExp: (LongVId: ppTyRow)))))
(IDAtExp: (LongVId: tyrow_opt)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppTyseq)))
(FNExp:
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: Tyseq)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: tys))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "Tyseq")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: subs))) (IDAtExp: (LongVId: ppTy)))))
(IDAtExp: (LongVId: tys)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppTyVarseq)))
(FNExp:
(Match:
(Mrule:
(ATPat:
(PARAtPat:
(ATPat:
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: out)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: i)))
(FIELDPatRow:
(Lab: |3|)
(ATPat:
(PARAtPat:
(CONPat:
(LongVId: TyVarseq)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: tyvars))))))))))))))))
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ppElem)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp: (IDAtExp: (LongVId: out)))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: i)))
(ExpRow:
(Lab: |3|)
(ATExp: (SCONAtExp: (STRINGSCon: "TyVarseq")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: subs))) (IDAtExp: (LongVId: ppTyVar)))))
(IDAtExp: (LongVId: tyvars)))))
(ExpRow:
(Lab: |2|)
(ATExp: (IDAtExp: (LongVId: nil))))))))))))))))))))))))))))))))))))))))))))))))))))))
(IDSigExp: (SigId: PP_CORE-sig)))))))))