(module PPModule-struct (planet chongkai/sml)
(#%module-begin
(Program:
(STRDECTopDec:
(STRUCTUREStrDec:
(StrBind:
(StrId: PPModule-struct)
(COLONStrExp:
(STRUCTStrExp:
(SEQStrDec:
(DECStrDec: (OPENDec: (LongStrId: GrammarModule-struct)))
(SEQStrDec:
(DECStrDec: (OPENDec: (LongStrId: PPGrammar-struct)))
(SEQStrDec:
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppSigId)))
(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: sigid))))))))))))))
(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: "SigId")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: SigId.toString))) (IDAtExp: (LongVId: sigid)))))))))))))))))))))
(SEQStrDec:
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppFunId)))
(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: funid))))))))))))))
(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: "FunId")))
(ExpRow:
(Lab: |4|)
(ATExp: (IDAtExp: (LongVId: I)))
(ExpRow:
(Lab: |5|)
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: FunId.toString))) (IDAtExp: (LongVId: funid)))))))))))))))))))))
(DECStrDec:
(VALDec:
(TyVarseq:)
(RECValBind:
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppStrExp)))
(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: STRUCTStrExp)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: strdec))))))))))))))))
(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: "STRUCTStrExp")))
(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: ppStrDec)))))
(IDAtExp: (LongVId: strdec)))))
(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: IDStrExp)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: longstrid))))))))))))))))
(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: "IDStrExp")))
(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: PPCore.ppLongStrId)))))
(IDAtExp: (LongVId: longstrid)))))
(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: COLONStrExp)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: strexp)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: sigexp)))))))))))))))))
(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: "COLONStrExp")))
(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: ppStrExp)))))
(IDAtExp: (LongVId: strexp)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppSigExp)))))
(IDAtExp: (LongVId: sigexp)))))
(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: SEALStrExp)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: strexp)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: sigexp)))))))))))))))))
(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: "SEALStrExp")))
(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: ppStrExp)))))
(IDAtExp: (LongVId: strexp)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppSigExp)))))
(IDAtExp: (LongVId: sigexp)))))
(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: APPStrExp)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: funid)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: strexp)))))))))))))))))
(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: "APPStrExp")))
(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: ppFunId)))))
(IDAtExp: (LongVId: funid)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppStrExp)))))
(IDAtExp: (LongVId: strexp)))))
(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: LETStrExp)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: strdec)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: strexp)))))))))))))))))
(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: "LETStrExp")))
(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: ppStrDec)))))
(IDAtExp: (LongVId: strdec)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppStrExp)))))
(IDAtExp: (LongVId: strexp)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil))))))))))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppStrDec)))
(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: DECStrDec)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (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: "DECStrDec")))
(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: PPCore.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: STRUCTUREStrDec)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: strbind))))))))))))))))
(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: "STRUCTUREStrDec")))
(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: ppStrBind)))))
(IDAtExp: (LongVId: strbind)))))
(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: LOCALStrDec)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: strdec1)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: strdec2)))))))))))))))))
(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: "LOCALStrDec")))
(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: ppStrDec)))))
(IDAtExp: (LongVId: strdec1)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppStrDec)))))
(IDAtExp: (LongVId: strdec2)))))
(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: EMPTYStrDec) (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: "EMPTYStrDec")))
(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: SEQStrDec)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: strdec1)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: strdec2)))))))))))))))))
(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: "SEQStrDec")))
(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: ppStrDec)))))
(IDAtExp: (LongVId: strdec1)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppStrDec)))))
(IDAtExp: (LongVId: strdec2)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppStrBind)))
(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: StrBind)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: strid)))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (IDAtPat: (LongVId: strexp)))
(FIELDPatRow: (Lab: |4|) (ATPat: (IDAtPat: (LongVId: strbind_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: "StrBind")))
(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: PPCore.ppStrId)))))
(IDAtExp: (LongVId: strid)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppStrExp)))))
(IDAtExp: (LongVId: strexp)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: subo))) (IDAtExp: (LongVId: ppStrBind)))))
(IDAtExp: (LongVId: strbind_opt)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppSigExp)))
(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: SIGSigExp)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: spec))))))))))))))))
(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: "SIGSigExp")))
(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: ppSpec)))))
(IDAtExp: (LongVId: spec)))))
(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: IDSigExp)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: sigid))))))))))))))))
(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: "IDSigExp")))
(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: ppSigId)))))
(IDAtExp: (LongVId: sigid)))))
(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: WHERETYPESigExp)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: sigexp)))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (IDAtPat: (LongVId: tyvarseq)))
(FIELDPatRow:
(Lab: |4|)
(ATPat: (IDAtPat: (LongVId: longtycon)))
(FIELDPatRow: (Lab: |5|) (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: "WHERETYPESigExp")))
(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: ppSigExp)))))
(IDAtExp: (LongVId: sigexp)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: PPCore.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: PPCore.ppLongTyCon)))))
(IDAtExp: (LongVId: longtycon)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: PPCore.ppTy)))))
(IDAtExp: (LongVId: ty)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppSigDec)))
(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: SigDec)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: sigbind))))))))))))))))
(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: "SigDec")))
(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: ppSigBind)))))
(IDAtExp: (LongVId: sigbind)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppSigBind)))
(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: SigBind)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: sigid)))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (IDAtPat: (LongVId: sigexp)))
(FIELDPatRow: (Lab: |4|) (ATPat: (IDAtPat: (LongVId: sigbind_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: "SigBind")))
(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: ppSigId)))))
(IDAtExp: (LongVId: sigid)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppSigExp)))))
(IDAtExp: (LongVId: sigexp)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: subo))) (IDAtExp: (LongVId: ppSigBind)))))
(IDAtExp: (LongVId: sigbind_opt)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppSpec)))
(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: VALSpec)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: valdesc))))))))))))))))
(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: "VALSpec")))
(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: ppValDesc)))))
(IDAtExp: (LongVId: valdesc)))))
(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: TYPESpec)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: typdesc))))))))))))))))
(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: "TYPESpec")))
(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: ppTypDesc)))))
(IDAtExp: (LongVId: typdesc)))))
(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: EQTYPESpec)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: typdesc))))))))))))))))
(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: "EQTYPESpec")))
(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: ppTypDesc)))))
(IDAtExp: (LongVId: typdesc)))))
(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: DATATYPESpec)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: datdesc))))))))))))))))
(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: "DATATYPESpec")))
(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: ppDatDesc)))))
(IDAtExp: (LongVId: datdesc)))))
(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: DATATYPE2Spec)
(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: "DATATYPE2Spec")))
(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: PPCore.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: PPCore.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: EXCEPTIONSpec)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: exdesc))))))))))))))))
(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: "EXCEPTIONSpec")))
(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: ppExDesc)))))
(IDAtExp: (LongVId: exdesc)))))
(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: STRUCTURESpec)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: strdesc))))))))))))))))
(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: "STRUCTURESpec")))
(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: ppStrDesc)))))
(IDAtExp: (LongVId: strdesc)))))
(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: INCLUDESpec)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: sigexp))))))))))))))))
(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: "INCLUDESpec")))
(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: ppSigExp)))))
(IDAtExp: (LongVId: sigexp)))))
(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: EMPTYSpec) (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: "EMPTYSpec")))
(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: SEQSpec)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: spec1)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: spec2)))))))))))))))))
(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: "SEQSpec")))
(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: ppSpec)))))
(IDAtExp: (LongVId: spec1)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppSpec)))))
(IDAtExp: (LongVId: spec2)))))
(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: SHARINGTYPESpec)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: spec)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: longtycons)))))))))))))))))
(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: "SHARINGTYPESpec")))
(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: ppSpec)))))
(IDAtExp: (LongVId: spec)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: subs))) (IDAtExp: (LongVId: PPCore.ppLongTyCon)))))
(IDAtExp: (LongVId: longtycons)))))
(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: SHARINGSpec)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: spec)))
(FIELDPatRow: (Lab: |3|) (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: "SHARINGSpec")))
(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: ppSpec)))))
(IDAtExp: (LongVId: spec)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp: (ATExp: (IDAtExp: (LongVId: subs))) (IDAtExp: (LongVId: PPCore.ppLongStrId)))))
(IDAtExp: (LongVId: longstrids)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil))))))))))))))))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppValDesc)))
(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: ValDesc)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: vid)))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (IDAtPat: (LongVId: ty)))
(FIELDPatRow: (Lab: |4|) (ATPat: (IDAtPat: (LongVId: valdesc_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: "ValDesc")))
(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: PPCore.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: PPCore.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: ppValDesc)))))
(IDAtExp: (LongVId: valdesc_opt)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppTypDesc)))
(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: TypDesc)
(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: typdesc_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: "TypDec")))
(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: PPCore.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: PPCore.ppTyCon)))))
(IDAtExp: (LongVId: tycon)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: subo))) (IDAtExp: (LongVId: ppTypDesc)))))
(IDAtExp: (LongVId: typdesc_opt)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppDatDesc)))
(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: DatDesc)
(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: condesc)))
(FIELDPatRow: (Lab: |5|) (ATPat: (IDAtPat: (LongVId: datdesc_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: "DatDesc")))
(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: PPCore.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: PPCore.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: ppConDesc)))))
(IDAtExp: (LongVId: condesc)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: subo))) (IDAtExp: (LongVId: ppDatDesc)))))
(IDAtExp: (LongVId: datdesc_opt)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppConDesc)))
(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: ConDesc)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: vid)))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (IDAtPat: (LongVId: ty_opt)))
(FIELDPatRow: (Lab: |4|) (ATPat: (IDAtPat: (LongVId: condesc_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: "ConDesc")))
(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: PPCore.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: PPCore.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: ppConDesc)))))
(IDAtExp: (LongVId: condesc_opt)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppExDesc)))
(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: ExDesc)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: vid)))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (IDAtPat: (LongVId: ty_opt)))
(FIELDPatRow: (Lab: |4|) (ATPat: (IDAtPat: (LongVId: exdesc_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: "ExDesc")))
(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: PPCore.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: PPCore.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: ppExDesc)))))
(IDAtExp: (LongVId: exdesc_opt)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppStrDesc)))
(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: StrDesc)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: strid)))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (IDAtPat: (LongVId: sigexp)))
(FIELDPatRow: (Lab: |4|) (ATPat: (IDAtPat: (LongVId: strdesc_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: "StrDesc")))
(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: PPCore.ppStrId)))))
(IDAtExp: (LongVId: strid)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppSigExp)))))
(IDAtExp: (LongVId: sigexp)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: subo))) (IDAtExp: (LongVId: ppStrDesc)))))
(IDAtExp: (LongVId: strdesc_opt)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppFunDec)))
(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: FunDec)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: funbind))))))))))))))))
(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: "FunDec")))
(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: ppFunBind)))))
(IDAtExp: (LongVId: funbind)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppFunBind)))
(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: FunBind)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: funid)))
(FIELDPatRow:
(Lab: |3|)
(ATPat: (IDAtPat: (LongVId: strid)))
(FIELDPatRow:
(Lab: |4|)
(ATPat: (IDAtPat: (LongVId: sigexp)))
(FIELDPatRow:
(Lab: |5|)
(ATPat: (IDAtPat: (LongVId: strexp)))
(FIELDPatRow: (Lab: |6|) (ATPat: (IDAtPat: (LongVId: funbind_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: "FunBind")))
(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: ppFunId)))))
(IDAtExp: (LongVId: funid)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: PPCore.ppStrId)))))
(IDAtExp: (LongVId: strid)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppSigExp)))))
(IDAtExp: (LongVId: sigexp)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub))) (IDAtExp: (LongVId: ppStrExp)))))
(IDAtExp: (LongVId: strexp)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp:
(PARAtExp:
(APPExp: (ATExp: (IDAtExp: (LongVId: subo))) (IDAtExp: (LongVId: ppFunBind)))))
(IDAtExp: (LongVId: funbind_opt)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))))))))))))))))
(PLAINValBind:
(ATPat: (IDAtPat: (LongVId: ppTopDec)))
(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: STRDECTopDec)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: strdec)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: topdec_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: "STRDECTopDec")))
(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: ppStrDec)))))
(IDAtExp: (LongVId: strdec)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: subo))) (IDAtExp: (LongVId: ppTopDec)))))
(IDAtExp: (LongVId: topdec_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: SIGDECTopDec)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: sigdec)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: topdec_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: "SIGDECTopDec")))
(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: ppSigDec)))))
(IDAtExp: (LongVId: sigdec)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: subo))) (IDAtExp: (LongVId: ppTopDec)))))
(IDAtExp: (LongVId: topdec_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: FUNDECTopDec)
(RECORDAtPat:
(FIELDPatRow:
(Lab: |1|)
(ATPat: (IDAtPat: (LongVId: I)))
(FIELDPatRow:
(Lab: |2|)
(ATPat: (IDAtPat: (LongVId: fundec)))
(FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: topdec_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: "FUNDECTopDec")))
(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: ppFunDec)))))
(IDAtExp: (LongVId: fundec)))))
(ExpRow:
(Lab: |2|)
(APPExp:
(ATExp: (IDAtExp: (LongVId: ::)))
(RECORDAtExp:
(ExpRow:
(Lab: |1|)
(ATExp:
(PARAtExp:
(APPExp:
(ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: subo))) (IDAtExp: (LongVId: ppTopDec)))))
(IDAtExp: (LongVId: topdec_opt)))))
(ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))))))))))))))))))))))))))))))
(IDSigExp: (SigId: PP_MODULE-sig)))))))))