(module Strbase-struct (planet chongkai/sml) (#%module-begin (Program: (SIGDECTopDec: (SigDec: (SigBind: (SigId: Strbase-sig) (SIGSigExp: (SEQSpec: (VALSpec: (ValDesc: (VId: maxlen) (CONTy: (Tyseq:) (LongTyCon: int-type)))) (SEQSpec: (VALSpec: (ValDesc: (VId: dropl) (ARROWTy: (PARTy: (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: char-type)) (CONTy: (Tyseq:) (LongTyCon: bool-type)))) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: substring-type)) (CONTy: (Tyseq:) (LongTyCon: substring-type)))))) (SEQSpec: (VALSpec: (ValDesc: (VId: dropr) (ARROWTy: (PARTy: (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: char-type)) (CONTy: (Tyseq:) (LongTyCon: bool-type)))) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: substring-type)) (CONTy: (Tyseq:) (LongTyCon: substring-type)))))) (SEQSpec: (VALSpec: (ValDesc: (VId: takel) (ARROWTy: (PARTy: (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: char-type)) (CONTy: (Tyseq:) (LongTyCon: bool-type)))) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: substring-type)) (CONTy: (Tyseq:) (LongTyCon: substring-type)))))) (SEQSpec: (VALSpec: (ValDesc: (VId: taker) (ARROWTy: (PARTy: (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: char-type)) (CONTy: (Tyseq:) (LongTyCon: bool-type)))) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: substring-type)) (CONTy: (Tyseq:) (LongTyCon: substring-type)))))) (SEQSpec: (VALSpec: (ValDesc: (VId: splitl) (ARROWTy: (PARTy: (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: char-type)) (CONTy: (Tyseq:) (LongTyCon: bool-type)))) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: substring-type)) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: substring-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: substring-type))))))))) (SEQSpec: (VALSpec: (ValDesc: (VId: splitr) (ARROWTy: (PARTy: (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: char-type)) (CONTy: (Tyseq:) (LongTyCon: bool-type)))) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: substring-type)) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: substring-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: substring-type))))))))) (SEQSpec: (VALSpec: (ValDesc: (VId: translate) (ARROWTy: (PARTy: (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: char-type)) (CONTy: (Tyseq:) (LongTyCon: string-type)))) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: substring-type)) (CONTy: (Tyseq:) (LongTyCon: string-type)))))) (SEQSpec: (VALSpec: (ValDesc: (VId: tokens) (ARROWTy: (PARTy: (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: char-type)) (CONTy: (Tyseq:) (LongTyCon: bool-type)))) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: substring-type)) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: substring-type))) (LongTyCon: list-type)))))) (SEQSpec: (VALSpec: (ValDesc: (VId: fields) (ARROWTy: (PARTy: (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: char-type)) (CONTy: (Tyseq:) (LongTyCon: bool-type)))) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: substring-type)) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: substring-type))) (LongTyCon: list-type)))))) (SEQSpec: (VALSpec: (ValDesc: (VId: foldl) (ARROWTy: (PARTy: (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: char-type)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|))))) (VARTy: (TyVar: |'a|)))) (ARROWTy: (VARTy: (TyVar: |'a|)) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: substring-type)) (VARTy: (TyVar: |'a|))))))) (SEQSpec: (VALSpec: (ValDesc: (VId: fromMLescape) (ARROWTy: (PARTy: (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: int-type)) (CONTy: (Tyseq: (PARTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: char-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: int-type))))))) (LongTyCon: option-type)))) (PARTy: (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: int-type)) (CONTy: (Tyseq: (PARTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: char-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: int-type))))))) (LongTyCon: option-type))))))) (SEQSpec: (VALSpec: (ValDesc: (VId: toMLescape) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: char-type)) (CONTy: (Tyseq:) (LongTyCon: string-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: fromCescape) (ARROWTy: (PARTy: (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: int-type)) (CONTy: (Tyseq: (PARTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: char-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: int-type))))))) (LongTyCon: option-type)))) (PARTy: (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: int-type)) (CONTy: (Tyseq: (PARTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: char-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: int-type))))))) (LongTyCon: option-type))))))) (SEQSpec: (VALSpec: (ValDesc: (VId: toCescape) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: char-type)) (CONTy: (Tyseq:) (LongTyCon: string-type))))) (VALSpec: (ValDesc: (VId: fromCString) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: string-type)) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: string-type))) (LongTyCon: option-type))))))))))))))))))))))) (STRDECTopDec: (STRUCTUREStrDec: (StrBind: (StrId: Strbase-struct) (SEALStrExp: (STRUCTStrExp: (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: maxlen))) (ATExp: (SCONAtExp: (INTSCon: 16777211)))))) (SEQStrDec: (SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:)) (LOCALStrDec: (SEQStrDec: (SEQStrDec: (SEQStrDec: (SEQStrDec: (DECStrDec: (OPENDec: (LongStrId: stringprimitive-struct))) (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: str))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10542))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: c))))) (ATExp: (LETAtExp: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: newstr))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: mkstring_))) (SCONAtExp: (INTSCon: 1))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (WILDCARDAtPat:)) (ATExp: (IDAtExp: (LongVId: newstr)))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: set_nth_))) (IDAtExp: (LongVId: newstr))))) (SCONAtExp: (INTSCon: 0))))) (IDAtExp: (LongVId: c)))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10542))))))))))))))) (SEQStrDec: (SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:)) (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: revconcat))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10547))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: strs))))) (ATExp: (LETAtExp: (SEQDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: acc))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10543))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10544))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: nil))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: len))))))) (ATExp: (IDAtExp: (LongVId: len)))) (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (PARAtPat: (ATPat: (PARAtPat: (CONPat: (LongVId: ::) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: v1))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: vr))))))))))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: len))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: acc))) (IDAtExp: (LongVId: vr))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: +))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: size))) (IDAtExp: (LongVId: v1))))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: len))))))))))))))))))) (PARAtExp: (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: _id10543))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10544)))))))))))))))))) (SEQDec: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: len))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: acc))) (IDAtExp: (LongVId: strs))))) (SCONAtExp: (INTSCon: 0))))))) (SEQDec: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: newstr))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (RAISEExp: (ATExp: (IDAtExp: (LongVId: Size))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: mkstring_))) (IDAtExp: (LongVId: len))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: >))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: len))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: maxlen))))))))))))) (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: copyall))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10545))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10546))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: to))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: nil))))))) (ATExp: (RECORDAtExp:))) (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: to))) (FIELDPatRow: (Lab: |2|) (ATPat: (PARAtPat: (ATPat: (PARAtPat: (CONPat: (LongVId: ::) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: v1))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: vr))))))))))))))) (ATExp: (LETAtExp: (SEQDec: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: len1))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: size))) (IDAtExp: (LongVId: v1))))))) (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: to))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: -))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: to))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: len1)))))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (WILDCARDAtPat:)) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: copyall))) (IDAtExp: (LongVId: to))))) (IDAtExp: (LongVId: vr)))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: blit_))) (IDAtExp: (LongVId: v1))))) (SCONAtExp: (INTSCon: 0))))) (IDAtExp: (LongVId: newstr))))) (IDAtExp: (LongVId: to))))) (IDAtExp: (LongVId: len1))))))))))))))))) (PARAtExp: (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: _id10545))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10546))))))))))))))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (WILDCARDAtPat:)) (ATExp: (IDAtExp: (LongVId: newstr)))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: copyall))) (IDAtExp: (LongVId: len))))) (IDAtExp: (LongVId: strs)))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10547)))))))))))))))) (SEQStrDec: (SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:)) (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: rest))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10548))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (PARAtPat: (ASPat: (VId: ss) (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: s))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: i))) (FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: n))))))))))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (IDAtExp: (LongVId: ss)))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: s))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: +))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: i))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 1))))))))) (ExpRow: (Lab: |3|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: -))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: n))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 1)))))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: =))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: n))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 0)))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10548)))))))))))))))) (SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:))) (SEQStrDec: (SEQStrDec: (SEQStrDec: (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: foldl))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10551))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10552))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10553))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: f))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: e))) (FIELDPatRow: (Lab: |3|) (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: s))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: i))) (FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: n))))))))))))) (ATExp: (LETAtExp: (SEQDec: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: stop))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: +))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: i))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: n))))))))))) (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: h))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10549))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10550))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: j))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: res))))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (IDAtExp: (LongVId: res)))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: h))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: +))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: j))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 1))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: f))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub_))) (IDAtExp: (LongVId: s))))) (IDAtExp: (LongVId: j))))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: res))))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: >=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: j))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: stop)))))))))))))))) (PARAtExp: (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: _id10549))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10550))))))))))))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: h))) (IDAtExp: (LongVId: i))))) (IDAtExp: (LongVId: e)))))))))))) (PARAtExp: (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: _id10551))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10552))) (ExpRow: (Lab: |3|) (ATExp: (IDAtExp: (LongVId: _id10553))))))))))))))))))))))) (SEQStrDec: (SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:)) (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: translate))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10556))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10557))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: f))) (FIELDPatRow: (Lab: |2|) (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: s))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: i))) (FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: n)))))))))))) (ATExp: (LETAtExp: (SEQDec: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: stop))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: +))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: i))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: n))))))))))) (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: h))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10554))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10555))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: j))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: res))))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (IDAtExp: (LongVId: res)))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: h))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: +))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: j))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 1))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ::))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: f))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub_))) (IDAtExp: (LongVId: s))))) (IDAtExp: (LongVId: j))))))))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: res))))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: >=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: j))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: stop)))))))))))))))) (PARAtExp: (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: _id10554))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10555))))))))))))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: revconcat))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: h))) (IDAtExp: (LongVId: i))))) (IDAtExp: (LongVId: nil)))))))))))))))) (PARAtExp: (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: _id10556))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10557))))))))))))))))))))) (SEQStrDec: (SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:)) (SEQStrDec: (LOCALStrDec: (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: scanl))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10559))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10560))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10561))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: chop))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: pred))) (FIELDPatRow: (Lab: |3|) (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: s))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: i))) (FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: n))))))))))))) (ATExp: (LETAtExp: (SEQDec: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: stop))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: +))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: i))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: n))))))))))) (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: scan))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10558))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: j))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: scan))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: +))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: j))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 1)))))))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: j))))))))) (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: pred))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub_))) (IDAtExp: (LongVId: s))))) (IDAtExp: (LongVId: j)))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: false))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: j))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: stop)))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10558)))))))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: chop))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: s))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: i))) (ExpRow: (Lab: |3|) (ATExp: (IDAtExp: (LongVId: n))) (ExpRow: (Lab: |4|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: -))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: scan))) (IDAtExp: (LongVId: i))))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: i)))))))))))))))))))))))) (PARAtExp: (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: _id10559))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10560))) (ExpRow: (Lab: |3|) (ATExp: (IDAtExp: (LongVId: _id10561))))))))))))))))))))))) (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: scanr))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10563))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10564))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10565))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: chop))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: pred))) (FIELDPatRow: (Lab: |3|) (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: s))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: i))) (FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: n))))))))))))) (ATExp: (LETAtExp: (SEQDec: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: stop))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: -))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: i))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 1))))))))))) (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: scan))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10562))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: j))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: scan))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: -))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: j))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 1)))))))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: j))))))))) (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: pred))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub_))) (IDAtExp: (LongVId: s))))) (IDAtExp: (LongVId: j)))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: false))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: >))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: j))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: stop)))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10562)))))))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: chop))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: s))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: i))) (ExpRow: (Lab: |3|) (ATExp: (IDAtExp: (LongVId: n))) (ExpRow: (Lab: |4|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: +))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: -))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: scan))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: -))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: +))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: i))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: n))))))))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 1))))))))))))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: i))))))))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 1)))))))))))))))))))))))) (PARAtExp: (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: _id10563))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10564))) (ExpRow: (Lab: |3|) (ATExp: (IDAtExp: (LongVId: _id10565)))))))))))))))))))))))) (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: splitl))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10566))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: p))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: scanl))) (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: s))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: i))) (FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: n))) (FIELDPatRow: (Lab: |4|) (ATPat: (IDAtPat: (LongVId: k))))))))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: s))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: i))) (ExpRow: (Lab: |3|) (ATExp: (IDAtExp: (LongVId: k)))))))) (ExpRow: (Lab: |2|) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: s))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: +))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: i))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: k))))))))) (ExpRow: (Lab: |3|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: -))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: n))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: k))))))))))))))))))))))))) (IDAtExp: (LongVId: p)))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10566)))))))))))))) (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: splitr))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10567))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: p))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: scanr))) (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: s))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: i))) (FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: n))) (FIELDPatRow: (Lab: |4|) (ATPat: (IDAtPat: (LongVId: k))))))))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: s))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: i))) (ExpRow: (Lab: |3|) (ATExp: (IDAtExp: (LongVId: k)))))))) (ExpRow: (Lab: |2|) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: s))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: +))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: i))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: k))))))))) (ExpRow: (Lab: |3|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: -))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: n))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: k))))))))))))))))))))))))) (IDAtExp: (LongVId: p)))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10567)))))))))))))) (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: dropl))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10568))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: p))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: scanl))) (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: s))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: i))) (FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: n))) (FIELDPatRow: (Lab: |4|) (ATPat: (IDAtPat: (LongVId: k))))))))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: s))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: +))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: i))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: k))))))))) (ExpRow: (Lab: |3|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: -))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: n))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: k))))))))))))))))))))) (IDAtExp: (LongVId: p)))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10568)))))))))))))) (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: dropr))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10569))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: p))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: scanr))) (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: s))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: i))) (FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: n))) (FIELDPatRow: (Lab: |4|) (ATPat: (IDAtPat: (LongVId: k))))))))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: s))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: i))) (ExpRow: (Lab: |3|) (ATExp: (IDAtExp: (LongVId: k))))))))))))))) (IDAtExp: (LongVId: p)))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10569)))))))))))))) (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: takel))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10570))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: p))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: scanl))) (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: s))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: i))) (FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: n))) (FIELDPatRow: (Lab: |4|) (ATPat: (IDAtPat: (LongVId: k))))))))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: s))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: i))) (ExpRow: (Lab: |3|) (ATExp: (IDAtExp: (LongVId: k))))))))))))))) (IDAtExp: (LongVId: p)))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10570)))))))))))))) (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: taker))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10571))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: p))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: scanr))) (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: s))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: i))) (FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: n))) (FIELDPatRow: (Lab: |4|) (ATPat: (IDAtPat: (LongVId: k))))))))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: s))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: +))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: i))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: k))))))))) (ExpRow: (Lab: |3|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: -))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: n))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: k))))))))))))))))))))) (IDAtExp: (LongVId: p)))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10571)))))))))))))))))))) (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: tokens))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10575))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10576))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: isDelim))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: ss))))))) (ATExp: (LETAtExp: (SEQDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: findTok))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10572))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: ss))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: dropl))) (IDAtExp: (LongVId: isDelim))))) (IDAtExp: (LongVId: ss)))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10572))))))))))))) (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: h))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10573))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10574))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (PARAtPat: (ASPat: (VId: remains) (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (WILDCARDAtPat:)) (FIELDPatRow: (Lab: |2|) (ATPat: (WILDCARDAtPat:)) (FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: n))))))))))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: res))))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: rev))) (IDAtExp: (LongVId: res)))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (LETAtExp: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: token))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: aftertoken))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: splitl))) (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: c))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: not))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: isDelim))) (IDAtExp: (LongVId: c)))))))))))))))) (IDAtExp: (LongVId: remains))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: h))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: findTok))) (IDAtExp: (LongVId: aftertoken))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ::))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: token))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: res))))))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: =))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: n))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 0)))))))))))))))) (PARAtExp: (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: _id10573))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10574))))))))))))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: h))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: findTok))) (IDAtExp: (LongVId: ss))))))))) (IDAtExp: (LongVId: nil)))))))))))) (PARAtExp: (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: _id10575))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10576)))))))))))))))))))))) (SEQStrDec: (SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:)) (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: fields))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10579))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10580))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: isDelim))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: ss))))))) (ATExp: (LETAtExp: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: h))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10577))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10578))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: ss))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: res))))))) (ATExp: (LETAtExp: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: field))) (FIELDPatRow: (Lab: |2|) (ASPat: (VId: afterfield) (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (WILDCARDAtPat:)) (FIELDPatRow: (Lab: |2|) (ATPat: (WILDCARDAtPat:)) (FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: n))))))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: splitl))) (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: c))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: not))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: isDelim))) (IDAtExp: (LongVId: c)))))))))))))))) (IDAtExp: (LongVId: ss))))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: rev))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ::))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: field))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: res)))))))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: h))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: rest))) (IDAtExp: (LongVId: afterfield))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ::))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: field))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: res))))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: =))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: n))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 0)))))))))))))))))) (PARAtExp: (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: _id10577))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10578)))))))))))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: h))) (IDAtExp: (LongVId: ss))))) (IDAtExp: (LongVId: nil)))))))))))) (PARAtExp: (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: _id10579))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10580))))))))))))))))))))) (SEQStrDec: (SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:)) (LOCALStrDec: (SEQStrDec: (SEQStrDec: (SEQStrDec: (SEQStrDec: (SEQStrDec: (SEQStrDec: (SEQStrDec: (DECStrDec: (EXCEPTIONDec: (NEWExBind: (VId: BadEscape)))) (DECStrDec: (VALDec: (TyVarseq:) (PLAINValBind: (COLONPat: (ATPat: (IDAtPat: (LongVId: ord_))) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: char-type)) (CONTy: (Tyseq:) (LongTyCon: int-type)))) (ATExp: (IDAtExp: (LongVId: ord))))))) (SEQStrDec: (SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:)) (DECStrDec: (VALDec: (TyVarseq:) (PLAINValBind: (COLONPat: (ATPat: (IDAtPat: (LongVId: chr_))) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: int-type)) (CONTy: (Tyseq:) (LongTyCon: char-type)))) (ATExp: (IDAtExp: (LongVId: chr)))))))) (SEQStrDec: (SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:)) (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: maxOrd))) (ATExp: (SCONAtExp: (INTSCon: 255)))))) (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: chr))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10581))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: i))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (RAISEExp: (ATExp: (IDAtExp: (LongVId: BadEscape))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: chr_))) (IDAtExp: (LongVId: i))))))))))) (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (IDAtExp: (LongVId: true)))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: >))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: i))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: maxOrd))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: i))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 0)))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10581))))))))))))))))) (SEQStrDec: (SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:)) (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: decval))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10582))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: c))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: -))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ord_))) (IDAtExp: (LongVId: c))))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 48)))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10582)))))))))))))))) (SEQStrDec: (SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:)) (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: digit))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10583))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: n))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: chr_))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: +))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (INTSCon: 48))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: n)))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10583)))))))))))))))) (SEQStrDec: (SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:)) (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: hexval))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10584))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: c))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: -))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ord_))) (IDAtExp: (LongVId: c))))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 48)))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: mod))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: -))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ord_))) (IDAtExp: (LongVId: c))))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 55))))))))))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 32))))))))))))))) (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: c))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (CHARSCon: #\9)))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: false))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\0))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: c)))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10584)))))))))))))))) (SEQStrDec: (SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:)) (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: isOctDigit))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10585))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: c))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: c))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (CHARSCon: #\7)))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: false))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\0))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: c)))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10585)))))))))))))) (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: isHexDigit))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10586))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: c))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (IDAtExp: (LongVId: true)))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (IDAtExp: (LongVId: true)))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: c))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (CHARSCon: #\F)))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: false))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\A))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: c))))))))))))))))) (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: c))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (CHARSCon: #\f)))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: false))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\a))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: c))))))))))))))))))) (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: c))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (CHARSCon: #\9)))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: false))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\0))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: c)))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10586))))))))))))))))) (SEQStrDec: (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: fromMLescape))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10591))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10592))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: getc))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: source))))))) (ATExp: (LETAtExp: (SEQDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: decimal))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10587))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10588))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10589))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: cont))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src))) (FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: code)))))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: NONE))) (RAISEExp: (ATExp: (IDAtExp: (LongVId: BadEscape))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: c))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest))))))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: cont))) (IDAtExp: (LongVId: rest))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: -))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: +))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: *))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: code))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 10))))))))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ord_))) (IDAtExp: (LongVId: c))))))))))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 48)))))))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (RAISEExp: (ATExp: (IDAtExp: (LongVId: BadEscape)))))))))) (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: c))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (CHARSCon: #\9)))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: false))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\0))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: c))))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getc))) (IDAtExp: (LongVId: src)))))))))))) (PARAtExp: (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: _id10587))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10588))) (ExpRow: (Lab: |3|) (ATExp: (IDAtExp: (LongVId: _id10589)))))))))))))))))))))) (SEQDec: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: from3Dec))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: decimal))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: decimal))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: decimal))) (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: src))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: code))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: chr))) (IDAtExp: (LongVId: code))))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src))))))))))))))))))))))))))) (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: skipform))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10590))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: src))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: NONE))) (ATExp: (IDAtExp: (LongVId: NONE)))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\\))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: NONE))) (ATExp: (IDAtExp: (LongVId: NONE)))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\\))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src2))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: fromMLescape))) (IDAtExp: (LongVId: getc))))) (IDAtExp: (LongVId: src2)))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: res))) (ATExp: (IDAtExp: (LongVId: res)))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getc))) (IDAtExp: (LongVId: src1)))))))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: c))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest))))))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: skipform))) (IDAtExp: (LongVId: rest)))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: NONE))))))))) (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (IDAtExp: (LongVId: true)))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: c))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (CHARSCon: #\return)))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: false))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\tab))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: c))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: =))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: c))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (CHARSCon: #\space)))))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getc))) (IDAtExp: (LongVId: src)))))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10590))))))))))))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: NONE))) (ATExp: (IDAtExp: (LongVId: NONE)))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\a))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: SOME))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\u0007))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: rest)))))))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\b))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: SOME))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\backspace))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: rest)))))))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\t))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: SOME))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\tab))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: rest)))))))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\n))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: SOME))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\newline))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: rest)))))))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\r))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: SOME))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\return))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: rest)))))))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\v))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: SOME))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\vtab))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: rest)))))))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\f))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: SOME))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\page))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: rest)))))))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\"))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: SOME))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\"))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: rest)))))))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\\))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: SOME))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\\))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: rest)))))))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\space))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: skipform))) (IDAtExp: (LongVId: rest)))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\newline))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: skipform))) (IDAtExp: (LongVId: rest)))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\tab))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: skipform))) (IDAtExp: (LongVId: rest)))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\^))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: NONE))) (ATExp: (IDAtExp: (LongVId: NONE)))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: c))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest))))))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: SOME))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: chr_))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: -))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ord_))) (IDAtExp: (LongVId: c))))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 64))))))))))))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: rest)))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: NONE))))))))) (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: c))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (CHARSCon: #\_)))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: false))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\@))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: c))))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getc))) (IDAtExp: (LongVId: rest)))))))))) (Match: (Mrule: (ATPat: (WILDCARDAtPat:)) (HANDLEExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: SOME))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: from3Dec))) (IDAtExp: (LongVId: source))))) (SCONAtExp: (INTSCon: 0))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: BadEscape))) (ATExp: (IDAtExp: (LongVId: NONE))))))))))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getc))) (IDAtExp: (LongVId: source)))))))))))))) (PARAtExp: (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: _id10591))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10592))))))))))))))))))) (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: toMLescape))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10593))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: c))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\\))) (ATExp: (SCONAtExp: (STRINGSCon: "\\\\")))) (Match: (Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\"))) (ATExp: (SCONAtExp: (STRINGSCon: "\\\"")))) (Match: (Mrule: (ATPat: (WILDCARDAtPat:)) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: str))) (IDAtExp: (LongVId: c)))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (LETAtExp: (SEQDec: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: n))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ord_))) (IDAtExp: (LongVId: c))))))) (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: newstr))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: mkstring_))) (SCONAtExp: (INTSCon: 4)))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (WILDCARDAtPat:)) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (WILDCARDAtPat:)) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (WILDCARDAtPat:)) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (WILDCARDAtPat:)) (ATExp: (IDAtExp: (LongVId: newstr)))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: set_nth_))) (IDAtExp: (LongVId: newstr))))) (SCONAtExp: (INTSCon: 3))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: digit))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: mod))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: n))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 10)))))))))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: set_nth_))) (IDAtExp: (LongVId: newstr))))) (SCONAtExp: (INTSCon: 2))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: digit))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: mod))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: div))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: n))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 10))))))))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 10)))))))))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: set_nth_))) (IDAtExp: (LongVId: newstr))))) (SCONAtExp: (INTSCon: 1))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: digit))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: div))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: n))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 100)))))))))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: set_nth_))) (IDAtExp: (LongVId: newstr))))) (SCONAtExp: (INTSCon: 0))))) (SCONAtExp: (CHARSCon: #\\))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: c))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (CHARSCon: #\~)))))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\u0007))) (ATExp: (SCONAtExp: (STRINGSCon: "\\a")))) (Match: (Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\backspace))) (ATExp: (SCONAtExp: (STRINGSCon: "\\b")))) (Match: (Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\tab))) (ATExp: (SCONAtExp: (STRINGSCon: "\\t")))) (Match: (Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\newline))) (ATExp: (SCONAtExp: (STRINGSCon: "\\n")))) (Match: (Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\return))) (ATExp: (SCONAtExp: (STRINGSCon: "\\r")))) (Match: (Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\vtab))) (ATExp: (SCONAtExp: (STRINGSCon: "\\v")))) (Match: (Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\page))) (ATExp: (SCONAtExp: (STRINGSCon: "\\f")))) (Match: (Mrule: (ATPat: (WILDCARDAtPat:)) (ATExp: (LETAtExp: (SEQDec: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: n))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ord_))) (IDAtExp: (LongVId: c))))))) (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: newstr))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: mkstring_))) (SCONAtExp: (INTSCon: 3)))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (WILDCARDAtPat:)) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (WILDCARDAtPat:)) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (WILDCARDAtPat:)) (ATExp: (IDAtExp: (LongVId: newstr)))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: set_nth_))) (IDAtExp: (LongVId: newstr))))) (SCONAtExp: (INTSCon: 2))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: chr_))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: +))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ord_))) (IDAtExp: (LongVId: c))))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 64)))))))))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: set_nth_))) (IDAtExp: (LongVId: newstr))))) (SCONAtExp: (INTSCon: 1))))) (SCONAtExp: (CHARSCon: #\^)))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: set_nth_))) (IDAtExp: (LongVId: newstr))))) (SCONAtExp: (INTSCon: 0))))) (SCONAtExp: (CHARSCon: #\\))))))))))))))))))))))) (PARAtExp: (ATExp: (IDAtExp: (LongVId: c))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\space))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: c)))))))))))))))))) (PARAtExp: (ATExp: (IDAtExp: (LongVId: c)))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10593)))))))))))))) (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: toCescape))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10594))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: c))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\\))) (ATExp: (SCONAtExp: (STRINGSCon: "\\\\")))) (Match: (Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\?))) (ATExp: (SCONAtExp: (STRINGSCon: "\\?")))) (Match: (Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\'))) (ATExp: (SCONAtExp: (STRINGSCon: "\\'")))) (Match: (Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\"))) (ATExp: (SCONAtExp: (STRINGSCon: "\\\"")))) (Match: (Mrule: (ATPat: (WILDCARDAtPat:)) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: str))) (IDAtExp: (LongVId: c)))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\newline))) (ATExp: (SCONAtExp: (STRINGSCon: "\\n")))) (Match: (Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\return))) (ATExp: (SCONAtExp: (STRINGSCon: "\\r")))) (Match: (Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\tab))) (ATExp: (SCONAtExp: (STRINGSCon: "\\t")))) (Match: (Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\vtab))) (ATExp: (SCONAtExp: (STRINGSCon: "\\v")))) (Match: (Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\backspace))) (ATExp: (SCONAtExp: (STRINGSCon: "\\b")))) (Match: (Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\page))) (ATExp: (SCONAtExp: (STRINGSCon: "\\f")))) (Match: (Mrule: (ATPat: (SCONAtPat: (CHARSCon: #\u0007))) (ATExp: (SCONAtExp: (STRINGSCon: "\\a")))) (Match: (Mrule: (ATPat: (WILDCARDAtPat:)) (ATExp: (LETAtExp: (SEQDec: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: n))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ord_))) (IDAtExp: (LongVId: c))))))) (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: newstr))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: mkstring_))) (SCONAtExp: (INTSCon: 4)))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (WILDCARDAtPat:)) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (WILDCARDAtPat:)) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (WILDCARDAtPat:)) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (WILDCARDAtPat:)) (ATExp: (IDAtExp: (LongVId: newstr)))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: set_nth_))) (IDAtExp: (LongVId: newstr))))) (SCONAtExp: (INTSCon: 3))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: digit))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: mod))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: n))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 8)))))))))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: set_nth_))) (IDAtExp: (LongVId: newstr))))) (SCONAtExp: (INTSCon: 2))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: digit))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: mod))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: div))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: n))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 8))))))))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 8)))))))))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: set_nth_))) (IDAtExp: (LongVId: newstr))))) (SCONAtExp: (INTSCon: 1))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: digit))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: div))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: n))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 64)))))))))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: set_nth_))) (IDAtExp: (LongVId: newstr))))) (SCONAtExp: (INTSCon: 0))))) (SCONAtExp: (CHARSCon: #\\))))))))))))))))))))))) (PARAtExp: (ATExp: (IDAtExp: (LongVId: c))))))))))))) (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: c))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (CHARSCon: #\~)))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: false))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\space))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: c)))))))))))))))))))))) (PARAtExp: (ATExp: (IDAtExp: (LongVId: c)))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10594)))))))))))))))) (SEQStrDec: (SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:)) (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: |fromCescape'|))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10600))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10601))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: getc))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src))))))) (ATExp: (LETAtExp: (SEQDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: fromHex))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10595))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10596))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: src))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: code))))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: NONE))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: chr))) (IDAtExp: (LongVId: code))))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src)))))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: c))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest))))))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: fromHex))) (IDAtExp: (LongVId: rest))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: +))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: *))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: code))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 16))))))))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: hexval))) (IDAtExp: (LongVId: c)))))))))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: chr))) (IDAtExp: (LongVId: code))))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: isHexDigit))) (IDAtExp: (LongVId: c))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getc))) (IDAtExp: (LongVId: src)))))))))))) (PARAtExp: (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: _id10595))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10596)))))))))))))))))) (SEQDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: octalOpt))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10597))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10598))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10599))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: cont))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src))) (FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: code)))))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: NONE))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: chr))) (IDAtExp: (LongVId: code))))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src)))))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: c))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest))))))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: cont))) (IDAtExp: (LongVId: rest))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: -))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: +))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: *))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: code))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 8))))))))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ord_))) (IDAtExp: (LongVId: c))))))))))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 48)))))))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: chr))) (IDAtExp: (LongVId: code))))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src))))))))))))) (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: c))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (CHARSCon: #\7)))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: false))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\0))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: c))))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getc))) (IDAtExp: (LongVId: src)))))))))))) (PARAtExp: (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: _id10597))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10598))) (ExpRow: (Lab: |3|) (ATExp: (IDAtExp: (LongVId: _id10599)))))))))))))))))))))) (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: fromOct))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: octalOpt))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: octalOpt))) (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: src))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: code))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: chr))) (IDAtExp: (LongVId: code))))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src))))))))))))))))))))))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: NONE))) (RAISEExp: (ATExp: (IDAtExp: (LongVId: BadEscape))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\n))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1))))))))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\newline))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src1)))))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\r))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1))))))))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\return))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src1)))))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\t))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1))))))))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\tab))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src1)))))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\v))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1))))))))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\vtab))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src1)))))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\b))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1))))))))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\backspace))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src1)))))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\f))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1))))))))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\page))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src1)))))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\a))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1))))))))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\u0007))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src1)))))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\\))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1))))))))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\\))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src1)))))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\?))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1))))))))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\?))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src1)))))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\'))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1))))))))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\'))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src1)))))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\"))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1))))))))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\"))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src1)))))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\x))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: NONE))) (RAISEExp: (ATExp: (IDAtExp: (LongVId: BadEscape))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: c))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src2))))))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: fromHex))) (IDAtExp: (LongVId: src2))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: hexval))) (IDAtExp: (LongVId: c)))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (RAISEExp: (ATExp: (IDAtExp: (LongVId: BadEscape)))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: isHexDigit))) (IDAtExp: (LongVId: c))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getc))) (IDAtExp: (LongVId: src1)))))))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: c))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1))))))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: fromOct))) (IDAtExp: (LongVId: src1))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: decval))) (IDAtExp: (LongVId: c)))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (RAISEExp: (ATExp: (IDAtExp: (LongVId: BadEscape)))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: isOctDigit))) (IDAtExp: (LongVId: c))))))))))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getc))) (IDAtExp: (LongVId: src)))))))))))))) (PARAtExp: (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: _id10600))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10601))))))))))))))))))) (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: fromCescape))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10602))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10603))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: getc))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src))))))) (HANDLEExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: SOME))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: |fromCescape'|))) (IDAtExp: (LongVId: getc))))) (IDAtExp: (LongVId: src))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: BadEscape))) (ATExp: (IDAtExp: (LongVId: NONE)))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: Overflow))) (ATExp: (IDAtExp: (LongVId: NONE)))))))))))) (PARAtExp: (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: _id10602))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10603))))))))))))))))))) (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: fromCString))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10612))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: s))))) (ATExp: (LETAtExp: (SEQDec: (SEQDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: getc))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10604))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: i))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: SOME))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub_))) (IDAtExp: (LongVId: s))))) (IDAtExp: (LongVId: i))))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: +))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: i))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 1)))))))))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: NONE))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: i))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: size))) (IDAtExp: (LongVId: s)))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10604))))))))))))) (SEQDec: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: max))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ref))) (SCONAtExp: (INTSCon: 1))))))) (SEQDec: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: tmp))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ref))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: mkstring_))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: !))) (IDAtExp: (LongVId: max))))))))))))))) (SEQDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: realloc))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10605))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (RECORDAtPat:)))) (ATExp: (LETAtExp: (SEQDec: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: newmax))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: *))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (INTSCon: 2))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: !))) (IDAtExp: (LongVId: max))))))))))))) (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: newtmp))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: mkstring_))) (IDAtExp: (LongVId: newmax)))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (WILDCARDAtPat:)) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (WILDCARDAtPat:)) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: :=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: tmp))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: newtmp)))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: :=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: max))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: newmax)))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: blit_))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: !))) (IDAtExp: (LongVId: tmp))))))))) (SCONAtExp: (INTSCon: 0))))) (IDAtExp: (LongVId: newtmp))))) (SCONAtExp: (INTSCon: 0))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: !))) (IDAtExp: (LongVId: max)))))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10605))))))))))))) (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: sub_string_))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10606))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10607))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10608))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: s))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: start))) (FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: len)))))))) (ATExp: (LETAtExp: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: res))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: mkstring_))) (IDAtExp: (LongVId: len))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (WILDCARDAtPat:)) (ATExp: (IDAtExp: (LongVId: res)))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: blit_))) (IDAtExp: (LongVId: s))))) (IDAtExp: (LongVId: start))))) (IDAtExp: (LongVId: res))))) (SCONAtExp: (INTSCon: 0))))) (IDAtExp: (LongVId: len)))))))))))))))) (PARAtExp: (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: _id10606))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10607))) (ExpRow: (Lab: |3|) (ATExp: (IDAtExp: (LongVId: _id10608)))))))))))))))))))))))))) (SEQDec: (SEQDec: (EMPTYDec:) (EMPTYDec:)) (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: h))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10610))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10611))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: len))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src))))))) (ATExp: (LETAtExp: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: addchar))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10609))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: c))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (WILDCARDAtPat:)) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: set_nth_))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: !))) (IDAtExp: (LongVId: tmp))))))))) (IDAtExp: (LongVId: len))))) (IDAtExp: (LongVId: c)))))))))) (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: realloc))) (RECORDAtExp:))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (RECORDAtExp:)))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: >=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: len))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: !))) (IDAtExp: (LongVId: max)))))))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10609))))))))))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: NONE))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: sub_string_))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: !))) (IDAtExp: (LongVId: tmp))))))))) (SCONAtExp: (INTSCon: 0))))) (IDAtExp: (LongVId: len)))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\\))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1))))))))) (ATExp: (LETAtExp: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: c))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src2))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: |fromCescape'|))) (IDAtExp: (LongVId: getc))))) (IDAtExp: (LongVId: src1))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (WILDCARDAtPat:)) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: h))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: +))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: len))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 1))))))))))))) (IDAtExp: (LongVId: src2)))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: addchar))) (IDAtExp: (LongVId: c)))))))))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: c))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src1))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (WILDCARDAtPat:)) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: h))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: +))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: len))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 1))))))))))))) (IDAtExp: (LongVId: src1)))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: addchar))) (IDAtExp: (LongVId: c)))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getc))) (IDAtExp: (LongVId: src)))))))))))))) (PARAtExp: (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: _id10610))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10611)))))))))))))))))))) (HANDLEExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: SOME))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: h))) (SCONAtExp: (INTSCon: 0))))) (SCONAtExp: (INTSCon: 0))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: BadEscape))) (ATExp: (IDAtExp: (LongVId: NONE)))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: Overflow))) (ATExp: (IDAtExp: (LongVId: NONE)))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10612))))))))))))))))))))))))) (IDSigExp: (SigId: Strbase-sig))))))))))