(module GrammarProgramFn-functor (planet chongkai/sml) (#%module-begin (Program: (FUNDECTopDec: (FunDec: (FunBind: (FunId: GrammarProgramFn-functor) (StrId: _id20-struct) (SIGSigExp: (SEQSpec: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: Info-type))) (STRUCTURESpec: (StrDesc: (StrId: Module-struct) (IDSigExp: (SigId: GRAMMAR_MODULE-sig)))))) (LETStrExp: (DECStrDec: (OPENDec: (LongStrId: _id20-struct))) (COLONStrExp: (STRUCTStrExp: (SEQStrDec: (STRUCTUREStrDec: (StrBind: (StrId: Module-struct) (IDStrExp: (LongStrId: Module-struct)))) (SEQStrDec: (DECStrDec: (TYPEDec: (TypBind: (TyVarseq:) (TyCon: Info-type) (CONTy: (Tyseq:) (LongTyCon: Info-type))))) (SEQStrDec: (DECStrDec: (OPENDec: (LongStrId: Module-struct))) (SEQStrDec: (DECStrDec: (DATATYPEDec: (DatBind: (TyVarseq:) (TyCon: Program-type) (ConBind: (VId: Program) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Info-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: TopDec-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: Program-type))) (LongTyCon: option-type)))))))))) (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: infoProgram))) (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (PARAtPat: (ATPat: (PARAtPat: (CONPat: (LongVId: Program) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: I))) (FIELDPatRow: (Lab: |2|) (ATPat: (WILDCARDAtPat:)) (FIELDPatRow: (Lab: |3|) (ATPat: (WILDCARDAtPat:))))))))))))) (ATExp: (IDAtExp: (LongVId: I))))))))))))))) (IDSigExp: (SigId: GRAMMAR_PROGRAM-sig))))))))))