hamlet/DERIVED_FORMS_CORE-sig.ss
(module DERIVED_FORMS_CORE-sig (planet chongkai/sml)
  (#%module-begin
   (Program:
    (SIGDECTopDec:
     (SigDec:
      (SigBind:
       (SigId: DERIVED_FORMS_CORE-sig)
       (SIGSigExp:
        (SEQSpec:
         (SEQSpec:
          (INCLUDESpec:
           (WHERETYPESigExp:
            (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: Info-type))))
            (TyVarseq:)
            (LongTyCon: Info-type)
            (CONTy: (Tyseq:) (LongTyCon: GrammarCore.Info-type))))
          (EMPTYSpec:))
         (SEQSpec:
          (SEQSpec:
           (INCLUDESpec:
            (WHERETYPESigExp:
             (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: Lab-type))))
             (TyVarseq:)
             (LongTyCon: Lab-type)
             (CONTy: (Tyseq:) (LongTyCon: GrammarCore.Lab-type))))
           (EMPTYSpec:))
          (SEQSpec:
           (SEQSpec:
            (INCLUDESpec:
             (WHERETYPESigExp:
              (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: VId-type))))
              (TyVarseq:)
              (LongTyCon: VId-type)
              (CONTy: (Tyseq:) (LongTyCon: GrammarCore.VId-type))))
            (EMPTYSpec:))
           (SEQSpec:
            (SEQSpec:
             (INCLUDESpec:
              (WHERETYPESigExp:
               (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: Op-type))))
               (TyVarseq:)
               (LongTyCon: Op-type)
               (CONTy: (Tyseq:) (LongTyCon: GrammarCore.Op-type))))
             (EMPTYSpec:))
            (SEQSpec:
             (SEQSpec:
              (INCLUDESpec:
               (WHERETYPESigExp:
                (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: AtExp-type))))
                (TyVarseq:)
                (LongTyCon: AtExp-type)
                (CONTy: (Tyseq:) (LongTyCon: GrammarCore.AtExp-type))))
              (EMPTYSpec:))
             (SEQSpec:
              (SEQSpec:
               (INCLUDESpec:
                (WHERETYPESigExp:
                 (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: AppExp-type))))
                 (TyVarseq:)
                 (LongTyCon: AppExp-type)
                 (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: GrammarCore.AtExp-type))) (LongTyCon: list-type))))
               (EMPTYSpec:))
              (SEQSpec:
               (SEQSpec:
                (INCLUDESpec:
                 (WHERETYPESigExp:
                  (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: InfExp-type))))
                  (TyVarseq:)
                  (LongTyCon: InfExp-type)
                  (CONTy: (Tyseq:) (LongTyCon: GrammarCore.Exp-type))))
                (EMPTYSpec:))
               (SEQSpec:
                (SEQSpec:
                 (INCLUDESpec:
                  (WHERETYPESigExp:
                   (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: Exp-type))))
                   (TyVarseq:)
                   (LongTyCon: Exp-type)
                   (CONTy: (Tyseq:) (LongTyCon: GrammarCore.Exp-type))))
                 (EMPTYSpec:))
                (SEQSpec:
                 (SEQSpec:
                  (INCLUDESpec:
                   (WHERETYPESigExp:
                    (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: Match-type))))
                    (TyVarseq:)
                    (LongTyCon: Match-type)
                    (CONTy: (Tyseq:) (LongTyCon: GrammarCore.Match-type))))
                  (EMPTYSpec:))
                 (SEQSpec:
                  (SEQSpec:
                   (INCLUDESpec:
                    (WHERETYPESigExp:
                     (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: Mrule-type))))
                     (TyVarseq:)
                     (LongTyCon: Mrule-type)
                     (CONTy: (Tyseq:) (LongTyCon: GrammarCore.Mrule-type))))
                   (EMPTYSpec:))
                  (SEQSpec:
                   (SEQSpec:
                    (INCLUDESpec:
                     (WHERETYPESigExp:
                      (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: Dec-type))))
                      (TyVarseq:)
                      (LongTyCon: Dec-type)
                      (CONTy: (Tyseq:) (LongTyCon: GrammarCore.Dec-type))))
                    (EMPTYSpec:))
                   (SEQSpec:
                    (SEQSpec:
                     (INCLUDESpec:
                      (WHERETYPESigExp:
                       (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: ValBind-type))))
                       (TyVarseq:)
                       (LongTyCon: ValBind-type)
                       (CONTy: (Tyseq:) (LongTyCon: GrammarCore.ValBind-type))))
                     (EMPTYSpec:))
                    (SEQSpec:
                     (SEQSpec:
                      (INCLUDESpec:
                       (WHERETYPESigExp:
                        (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: FvalBind-type))))
                        (TyVarseq:)
                        (LongTyCon: FvalBind-type)
                        (CONTy: (Tyseq:) (LongTyCon: GrammarCore.ValBind-type))))
                      (EMPTYSpec:))
                     (SEQSpec:
                      (SEQSpec:
                       (INCLUDESpec:
                        (WHERETYPESigExp:
                         (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: Fmatch-type))))
                         (TyVarseq:)
                         (LongTyCon: Fmatch-type)
                         (RECORDTy:
                          (TyRow:
                           (Lab: |1|)
                           (CONTy: (Tyseq:) (LongTyCon: GrammarCore.Match-type))
                           (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: VId-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: int-type))))))))
                       (EMPTYSpec:))
                      (SEQSpec:
                       (SEQSpec:
                        (INCLUDESpec:
                         (WHERETYPESigExp:
                          (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: Fmrule-type))))
                          (TyVarseq:)
                          (LongTyCon: Fmrule-type)
                          (RECORDTy:
                           (TyRow:
                            (Lab: |1|)
                            (CONTy: (Tyseq:) (LongTyCon: GrammarCore.Mrule-type))
                            (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: VId-type)) (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: int-type))))))))
                        (EMPTYSpec:))
                       (SEQSpec:
                        (SEQSpec:
                         (INCLUDESpec:
                          (WHERETYPESigExp:
                           (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: TypBind-type))))
                           (TyVarseq:)
                           (LongTyCon: TypBind-type)
                           (CONTy: (Tyseq:) (LongTyCon: GrammarCore.TypBind-type))))
                         (EMPTYSpec:))
                        (SEQSpec:
                         (SEQSpec:
                          (INCLUDESpec:
                           (WHERETYPESigExp:
                            (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: DatBind-type))))
                            (TyVarseq:)
                            (LongTyCon: DatBind-type)
                            (CONTy: (Tyseq:) (LongTyCon: GrammarCore.DatBind-type))))
                          (EMPTYSpec:))
                         (SEQSpec:
                          (SEQSpec:
                           (INCLUDESpec:
                            (WHERETYPESigExp:
                             (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: AtPat-type))))
                             (TyVarseq:)
                             (LongTyCon: AtPat-type)
                             (CONTy: (Tyseq:) (LongTyCon: GrammarCore.AtPat-type))))
                           (EMPTYSpec:))
                          (SEQSpec:
                           (SEQSpec:
                            (INCLUDESpec:
                             (WHERETYPESigExp:
                              (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: PatRow-type))))
                              (TyVarseq:)
                              (LongTyCon: PatRow-type)
                              (CONTy: (Tyseq:) (LongTyCon: GrammarCore.PatRow-type))))
                            (EMPTYSpec:))
                           (SEQSpec:
                            (SEQSpec:
                             (INCLUDESpec:
                              (WHERETYPESigExp:
                               (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: Pat-type))))
                               (TyVarseq:)
                               (LongTyCon: Pat-type)
                               (CONTy: (Tyseq:) (LongTyCon: GrammarCore.Pat-type))))
                             (EMPTYSpec:))
                            (SEQSpec:
                             (SEQSpec:
                              (INCLUDESpec:
                               (WHERETYPESigExp:
                                (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: Ty-type))))
                                (TyVarseq:)
                                (LongTyCon: Ty-type)
                                (CONTy: (Tyseq:) (LongTyCon: GrammarCore.Ty-type))))
                              (EMPTYSpec:))
                             (SEQSpec:
                              (SEQSpec:
                               (INCLUDESpec:
                                (WHERETYPESigExp:
                                 (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: TyVarseq-type))))
                                 (TyVarseq:)
                                 (LongTyCon: TyVarseq-type)
                                 (CONTy: (Tyseq:) (LongTyCon: GrammarCore.TyVarseq-type))))
                               (EMPTYSpec:))
                              (SEQSpec:
                               (VALSpec:
                                (ValDesc: (VId: UNITAtExp) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: Info-type)) (CONTy: (Tyseq:) (LongTyCon: AtExp-type)))))
                               (SEQSpec:
                                (VALSpec:
                                 (ValDesc:
                                  (VId: TUPLEAtExp)
                                  (ARROWTy:
                                   (RECORDTy:
                                    (TyRow:
                                     (Lab: |1|)
                                     (CONTy: (Tyseq:) (LongTyCon: Info-type))
                                     (TyRow: (Lab: |2|) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: Exp-type))) (LongTyCon: list-type)))))
                                   (CONTy: (Tyseq:) (LongTyCon: AtExp-type)))))
                                (SEQSpec:
                                 (VALSpec:
                                  (ValDesc:
                                   (VId: HASHAtExp)
                                   (ARROWTy:
                                    (RECORDTy:
                                     (TyRow:
                                      (Lab: |1|)
                                      (CONTy: (Tyseq:) (LongTyCon: Info-type))
                                      (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Lab-type)))))
                                    (CONTy: (Tyseq:) (LongTyCon: AtExp-type)))))
                                 (SEQSpec:
                                  (VALSpec:
                                   (ValDesc:
                                    (VId: CASEExp)
                                    (ARROWTy:
                                     (RECORDTy:
                                      (TyRow:
                                       (Lab: |1|)
                                       (CONTy: (Tyseq:) (LongTyCon: Info-type))
                                       (TyRow:
                                        (Lab: |2|)
                                        (CONTy: (Tyseq:) (LongTyCon: Exp-type))
                                        (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: Match-type))))))
                                     (CONTy: (Tyseq:) (LongTyCon: Exp-type)))))
                                  (SEQSpec:
                                   (VALSpec:
                                    (ValDesc:
                                     (VId: IFExp)
                                     (ARROWTy:
                                      (RECORDTy:
                                       (TyRow:
                                        (Lab: |1|)
                                        (CONTy: (Tyseq:) (LongTyCon: Info-type))
                                        (TyRow:
                                         (Lab: |2|)
                                         (CONTy: (Tyseq:) (LongTyCon: Exp-type))
                                         (TyRow:
                                          (Lab: |3|)
                                          (CONTy: (Tyseq:) (LongTyCon: Exp-type))
                                          (TyRow: (Lab: |4|) (CONTy: (Tyseq:) (LongTyCon: Exp-type)))))))
                                      (CONTy: (Tyseq:) (LongTyCon: Exp-type)))))
                                   (SEQSpec:
                                    (VALSpec:
                                     (ValDesc:
                                      (VId: ANDALSOExp)
                                      (ARROWTy:
                                       (RECORDTy:
                                        (TyRow:
                                         (Lab: |1|)
                                         (CONTy: (Tyseq:) (LongTyCon: Info-type))
                                         (TyRow:
                                          (Lab: |2|)
                                          (CONTy: (Tyseq:) (LongTyCon: Exp-type))
                                          (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: Exp-type))))))
                                       (CONTy: (Tyseq:) (LongTyCon: Exp-type)))))
                                    (SEQSpec:
                                     (VALSpec:
                                      (ValDesc:
                                       (VId: ORELSEExp)
                                       (ARROWTy:
                                        (RECORDTy:
                                         (TyRow:
                                          (Lab: |1|)
                                          (CONTy: (Tyseq:) (LongTyCon: Info-type))
                                          (TyRow:
                                           (Lab: |2|)
                                           (CONTy: (Tyseq:) (LongTyCon: Exp-type))
                                           (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: Exp-type))))))
                                        (CONTy: (Tyseq:) (LongTyCon: Exp-type)))))
                                     (SEQSpec:
                                      (VALSpec:
                                       (ValDesc:
                                        (VId: SEQAtExp)
                                        (ARROWTy:
                                         (RECORDTy:
                                          (TyRow:
                                           (Lab: |1|)
                                           (CONTy: (Tyseq:) (LongTyCon: Info-type))
                                           (TyRow: (Lab: |2|) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: Exp-type))) (LongTyCon: list-type)))))
                                         (CONTy: (Tyseq:) (LongTyCon: AtExp-type)))))
                                      (SEQSpec:
                                       (VALSpec:
                                        (ValDesc:
                                         (VId: LETAtExp)
                                         (ARROWTy:
                                          (RECORDTy:
                                           (TyRow:
                                            (Lab: |1|)
                                            (CONTy: (Tyseq:) (LongTyCon: Info-type))
                                            (TyRow:
                                             (Lab: |2|)
                                             (CONTy: (Tyseq:) (LongTyCon: Dec-type))
                                             (TyRow: (Lab: |3|) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: Exp-type))) (LongTyCon: list-type))))))
                                          (CONTy: (Tyseq:) (LongTyCon: AtExp-type)))))
                                       (SEQSpec:
                                        (VALSpec:
                                         (ValDesc:
                                          (VId: WHILEExp)
                                          (ARROWTy:
                                           (RECORDTy:
                                            (TyRow:
                                             (Lab: |1|)
                                             (CONTy: (Tyseq:) (LongTyCon: Info-type))
                                             (TyRow:
                                              (Lab: |2|)
                                              (CONTy: (Tyseq:) (LongTyCon: Exp-type))
                                              (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: Exp-type))))))
                                           (CONTy: (Tyseq:) (LongTyCon: Exp-type)))))
                                        (SEQSpec:
                                         (VALSpec:
                                          (ValDesc:
                                           (VId: LISTAtExp)
                                           (ARROWTy:
                                            (RECORDTy:
                                             (TyRow:
                                              (Lab: |1|)
                                              (CONTy: (Tyseq:) (LongTyCon: Info-type))
                                              (TyRow: (Lab: |2|) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: Exp-type))) (LongTyCon: list-type)))))
                                            (CONTy: (Tyseq:) (LongTyCon: AtExp-type)))))
                                         (SEQSpec:
                                          (VALSpec:
                                           (ValDesc:
                                            (VId: UNITAtPat)
                                            (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: Info-type)) (CONTy: (Tyseq:) (LongTyCon: AtPat-type)))))
                                          (SEQSpec:
                                           (VALSpec:
                                            (ValDesc:
                                             (VId: TUPLEAtPat)
                                             (ARROWTy:
                                              (RECORDTy:
                                               (TyRow:
                                                (Lab: |1|)
                                                (CONTy: (Tyseq:) (LongTyCon: Info-type))
                                                (TyRow: (Lab: |2|) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: Pat-type))) (LongTyCon: list-type)))))
                                              (CONTy: (Tyseq:) (LongTyCon: AtPat-type)))))
                                           (SEQSpec:
                                            (VALSpec:
                                             (ValDesc:
                                              (VId: LISTAtPat)
                                              (ARROWTy:
                                               (RECORDTy:
                                                (TyRow:
                                                 (Lab: |1|)
                                                 (CONTy: (Tyseq:) (LongTyCon: Info-type))
                                                 (TyRow: (Lab: |2|) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: Pat-type))) (LongTyCon: list-type)))))
                                               (CONTy: (Tyseq:) (LongTyCon: AtPat-type)))))
                                            (SEQSpec:
                                             (VALSpec:
                                              (ValDesc:
                                               (VId: IDPatRow)
                                               (ARROWTy:
                                                (RECORDTy:
                                                 (TyRow:
                                                  (Lab: |1|)
                                                  (CONTy: (Tyseq:) (LongTyCon: Info-type))
                                                  (TyRow:
                                                   (Lab: |2|)
                                                   (CONTy: (Tyseq:) (LongTyCon: VId-type))
                                                   (TyRow:
                                                    (Lab: |3|)
                                                    (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: Ty-type))) (LongTyCon: option-type))
                                                    (TyRow:
                                                     (Lab: |4|)
                                                     (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: Pat-type))) (LongTyCon: option-type))
                                                     (TyRow:
                                                      (Lab: |5|)
                                                      (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: PatRow-type))) (LongTyCon: option-type))))))))
                                                (CONTy: (Tyseq:) (LongTyCon: PatRow-type)))))
                                             (SEQSpec:
                                              (VALSpec:
                                               (ValDesc:
                                                (VId: TUPLETy)
                                                (ARROWTy:
                                                 (RECORDTy:
                                                  (TyRow:
                                                   (Lab: |1|)
                                                   (CONTy: (Tyseq:) (LongTyCon: Info-type))
                                                   (TyRow: (Lab: |2|) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: Ty-type))) (LongTyCon: list-type)))))
                                                 (CONTy: (Tyseq:) (LongTyCon: Ty-type)))))
                                              (SEQSpec:
                                               (VALSpec:
                                                (ValDesc:
                                                 (VId: FvalBind)
                                                 (ARROWTy:
                                                  (RECORDTy:
                                                   (TyRow:
                                                    (Lab: |1|)
                                                    (CONTy: (Tyseq:) (LongTyCon: Info-type))
                                                    (TyRow:
                                                     (Lab: |2|)
                                                     (CONTy: (Tyseq:) (LongTyCon: Fmatch-type))
                                                     (TyRow:
                                                      (Lab: |3|)
                                                      (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: FvalBind-type))) (LongTyCon: option-type))))))
                                                  (CONTy: (Tyseq:) (LongTyCon: FvalBind-type)))))
                                               (SEQSpec:
                                                (VALSpec:
                                                 (ValDesc:
                                                  (VId: Fmatch)
                                                  (ARROWTy:
                                                   (RECORDTy:
                                                    (TyRow:
                                                     (Lab: |1|)
                                                     (CONTy: (Tyseq:) (LongTyCon: Info-type))
                                                     (TyRow:
                                                      (Lab: |2|)
                                                      (CONTy: (Tyseq:) (LongTyCon: Fmrule-type))
                                                      (TyRow:
                                                       (Lab: |3|)
                                                       (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: Fmatch-type))) (LongTyCon: option-type))))))
                                                   (CONTy: (Tyseq:) (LongTyCon: Fmatch-type)))))
                                                (SEQSpec:
                                                 (VALSpec:
                                                  (ValDesc:
                                                   (VId: Fmrule)
                                                   (ARROWTy:
                                                    (RECORDTy:
                                                     (TyRow:
                                                      (Lab: |1|)
                                                      (CONTy: (Tyseq:) (LongTyCon: Info-type))
                                                      (TyRow:
                                                       (Lab: |2|)
                                                       (CONTy: (Tyseq:) (LongTyCon: Op-type))
                                                       (TyRow:
                                                        (Lab: |3|)
                                                        (CONTy: (Tyseq:) (LongTyCon: VId-type))
                                                        (TyRow:
                                                         (Lab: |4|)
                                                         (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: AtPat-type))) (LongTyCon: list-type))
                                                         (TyRow:
                                                          (Lab: |5|)
                                                          (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: Ty-type))) (LongTyCon: option-type))
                                                          (TyRow: (Lab: |6|) (CONTy: (Tyseq:) (LongTyCon: Exp-type)))))))))
                                                    (CONTy: (Tyseq:) (LongTyCon: Fmrule-type)))))
                                                 (SEQSpec:
                                                  (VALSpec:
                                                   (ValDesc:
                                                    (VId: FUNDec)
                                                    (ARROWTy:
                                                     (RECORDTy:
                                                      (TyRow:
                                                       (Lab: |1|)
                                                       (CONTy: (Tyseq:) (LongTyCon: Info-type))
                                                       (TyRow:
                                                        (Lab: |2|)
                                                        (CONTy: (Tyseq:) (LongTyCon: TyVarseq-type))
                                                        (TyRow: (Lab: |3|) (CONTy: (Tyseq:) (LongTyCon: FvalBind-type))))))
                                                     (CONTy: (Tyseq:) (LongTyCon: Dec-type)))))
                                                  (SEQSpec:
                                                   (VALSpec:
                                                    (ValDesc:
                                                     (VId: DATATYPEDec)
                                                     (ARROWTy:
                                                      (RECORDTy:
                                                       (TyRow:
                                                        (Lab: |1|)
                                                        (CONTy: (Tyseq:) (LongTyCon: Info-type))
                                                        (TyRow:
                                                         (Lab: |2|)
                                                         (CONTy: (Tyseq:) (LongTyCon: DatBind-type))
                                                         (TyRow:
                                                          (Lab: |3|)
                                                          (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: TypBind-type))) (LongTyCon: option-type))))))
                                                      (CONTy: (Tyseq:) (LongTyCon: Dec-type)))))
                                                   (VALSpec:
                                                    (ValDesc:
                                                     (VId: ABSTYPEDec)
                                                     (ARROWTy:
                                                      (RECORDTy:
                                                       (TyRow:
                                                        (Lab: |1|)
                                                        (CONTy: (Tyseq:) (LongTyCon: Info-type))
                                                        (TyRow:
                                                         (Lab: |2|)
                                                         (CONTy: (Tyseq:) (LongTyCon: DatBind-type))
                                                         (TyRow:
                                                          (Lab: |3|)
                                                          (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: TypBind-type))) (LongTyCon: option-type))
                                                          (TyRow: (Lab: |4|) (CONTy: (Tyseq:) (LongTyCon: Dec-type)))))))
                                                      (CONTy: (Tyseq:) (LongTyCon: Dec-type)))))))))))))))))))))))))))))))))))))))))))))))))))))))