hamlet/Parser_TOKENS-sig.ss
(module Parser_TOKENS-sig (planet chongkai/sml)
  (#%module-begin
   (Program:
    (SIGDECTopDec:
     (SigDec:
      (SigBind:
       (SigId: Parser_TOKENS-sig)
       (SIGSigExp:
        (SEQSpec:
         (TYPESpec: (TypDec: (TyVarseq: (TyVar: |'a|) (TyVar: |'b|)) (TyCon: token-type)))
         (SEQSpec:
          (TYPESpec: (TypDec: (TyVarseq:) (TyCon: svalue-type)))
          (SEQSpec:
           (VALSpec:
            (ValDesc:
             (VId: LONGID)
             (ARROWTy:
              (RECORDTy:
               (TyRow:
                (Lab: |1|)
                (PARTy:
                 (RECORDTy:
                  (TyRow:
                   (Lab: |1|)
                   (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: string-type))) (LongTyCon: list-type))
                   (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: string-type))))))
                (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |3|) (VARTy: (TyVar: |'a|))))))
              (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
           (SEQSpec:
            (VALSpec:
             (ValDesc:
              (VId: ETYVAR)
              (ARROWTy:
               (RECORDTy:
                (TyRow:
                 (Lab: |1|)
                 (PARTy: (CONTy: (Tyseq:) (LongTyCon: string-type)))
                 (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |3|) (VARTy: (TyVar: |'a|))))))
               (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
            (SEQSpec:
             (VALSpec:
              (ValDesc:
               (VId: TYVAR)
               (ARROWTy:
                (RECORDTy:
                 (TyRow:
                  (Lab: |1|)
                  (PARTy: (CONTy: (Tyseq:) (LongTyCon: string-type)))
                  (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |3|) (VARTy: (TyVar: |'a|))))))
                (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
             (SEQSpec:
              (VALSpec:
               (ValDesc:
                (VId: STAR)
                (ARROWTy:
                 (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                 (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
              (SEQSpec:
               (VALSpec:
                (ValDesc:
                 (VId: SYMBOL)
                 (ARROWTy:
                  (RECORDTy:
                   (TyRow:
                    (Lab: |1|)
                    (PARTy: (CONTy: (Tyseq:) (LongTyCon: string-type)))
                    (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |3|) (VARTy: (TyVar: |'a|))))))
                  (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
               (SEQSpec:
                (VALSpec:
                 (ValDesc:
                  (VId: ALPHA)
                  (ARROWTy:
                   (RECORDTy:
                    (TyRow:
                     (Lab: |1|)
                     (PARTy: (CONTy: (Tyseq:) (LongTyCon: string-type)))
                     (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |3|) (VARTy: (TyVar: |'a|))))))
                   (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                (SEQSpec:
                 (VALSpec:
                  (ValDesc:
                   (VId: CHAR)
                   (ARROWTy:
                    (RECORDTy:
                     (TyRow:
                      (Lab: |1|)
                      (PARTy: (CONTy: (Tyseq:) (LongTyCon: string-type)))
                      (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |3|) (VARTy: (TyVar: |'a|))))))
                    (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                 (SEQSpec:
                  (VALSpec:
                   (ValDesc:
                    (VId: STRING)
                    (ARROWTy:
                     (RECORDTy:
                      (TyRow:
                       (Lab: |1|)
                       (PARTy: (CONTy: (Tyseq:) (LongTyCon: string-type)))
                       (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |3|) (VARTy: (TyVar: |'a|))))))
                     (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                  (SEQSpec:
                   (VALSpec:
                    (ValDesc:
                     (VId: REAL)
                     (ARROWTy:
                      (RECORDTy:
                       (TyRow:
                        (Lab: |1|)
                        (PARTy: (CONTy: (Tyseq:) (LongTyCon: string-type)))
                        (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |3|) (VARTy: (TyVar: |'a|))))))
                      (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                   (SEQSpec:
                    (VALSpec:
                     (ValDesc:
                      (VId: HEXWORD)
                      (ARROWTy:
                       (RECORDTy:
                        (TyRow:
                         (Lab: |1|)
                         (PARTy: (CONTy: (Tyseq:) (LongTyCon: string-type)))
                         (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |3|) (VARTy: (TyVar: |'a|))))))
                       (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                    (SEQSpec:
                     (VALSpec:
                      (ValDesc:
                       (VId: WORD)
                       (ARROWTy:
                        (RECORDTy:
                         (TyRow:
                          (Lab: |1|)
                          (PARTy: (CONTy: (Tyseq:) (LongTyCon: string-type)))
                          (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |3|) (VARTy: (TyVar: |'a|))))))
                        (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                     (SEQSpec:
                      (VALSpec:
                       (ValDesc:
                        (VId: HEXINT)
                        (ARROWTy:
                         (RECORDTy:
                          (TyRow:
                           (Lab: |1|)
                           (PARTy: (CONTy: (Tyseq:) (LongTyCon: string-type)))
                           (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |3|) (VARTy: (TyVar: |'a|))))))
                         (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                      (SEQSpec:
                       (VALSpec:
                        (ValDesc:
                         (VId: INT)
                         (ARROWTy:
                          (RECORDTy:
                           (TyRow:
                            (Lab: |1|)
                            (PARTy: (CONTy: (Tyseq:) (LongTyCon: string-type)))
                            (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |3|) (VARTy: (TyVar: |'a|))))))
                          (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                       (SEQSpec:
                        (VALSpec:
                         (ValDesc:
                          (VId: NUMERIC)
                          (ARROWTy:
                           (RECORDTy:
                            (TyRow:
                             (Lab: |1|)
                             (PARTy: (CONTy: (Tyseq:) (LongTyCon: string-type)))
                             (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |3|) (VARTy: (TyVar: |'a|))))))
                           (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                        (SEQSpec:
                         (VALSpec:
                          (ValDesc:
                           (VId: DIGIT)
                           (ARROWTy:
                            (RECORDTy:
                             (TyRow:
                              (Lab: |1|)
                              (PARTy: (CONTy: (Tyseq:) (LongTyCon: string-type)))
                              (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |3|) (VARTy: (TyVar: |'a|))))))
                            (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                         (SEQSpec:
                          (VALSpec:
                           (ValDesc:
                            (VId: ZERO)
                            (ARROWTy:
                             (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                             (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                          (SEQSpec:
                           (VALSpec:
                            (ValDesc:
                             (VId: SEAL)
                             (ARROWTy:
                              (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                              (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                           (SEQSpec:
                            (VALSpec:
                             (ValDesc:
                              (VId: WHERE)
                              (ARROWTy:
                               (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                               (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                            (SEQSpec:
                             (VALSpec:
                              (ValDesc:
                               (VId: STRUCTURE)
                               (ARROWTy:
                                (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                             (SEQSpec:
                              (VALSpec:
                               (ValDesc:
                                (VId: STRUCT)
                                (ARROWTy:
                                 (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                 (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                              (SEQSpec:
                               (VALSpec:
                                (ValDesc:
                                 (VId: SIGNATURE)
                                 (ARROWTy:
                                  (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                  (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                               (SEQSpec:
                                (VALSpec:
                                 (ValDesc:
                                  (VId: SIG)
                                  (ARROWTy:
                                   (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                   (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                                (SEQSpec:
                                 (VALSpec:
                                  (ValDesc:
                                   (VId: SHARING)
                                   (ARROWTy:
                                    (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                    (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                                 (SEQSpec:
                                  (VALSpec:
                                   (ValDesc:
                                    (VId: INCLUDE)
                                    (ARROWTy:
                                     (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                     (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                                  (SEQSpec:
                                   (VALSpec:
                                    (ValDesc:
                                     (VId: FUNCTOR)
                                     (ARROWTy:
                                      (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                      (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                                   (SEQSpec:
                                    (VALSpec:
                                     (ValDesc:
                                      (VId: EQTYPE)
                                      (ARROWTy:
                                       (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                       (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                                    (SEQSpec:
                                     (VALSpec:
                                      (ValDesc:
                                       (VId: HASH)
                                       (ARROWTy:
                                        (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                        (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                                     (SEQSpec:
                                      (VALSpec:
                                       (ValDesc:
                                        (VId: ARROW)
                                        (ARROWTy:
                                         (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                         (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                                      (SEQSpec:
                                       (VALSpec:
                                        (ValDesc:
                                         (VId: DARROW)
                                         (ARROWTy:
                                          (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                          (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                                       (SEQSpec:
                                        (VALSpec:
                                         (ValDesc:
                                          (VId: EQUALS)
                                          (ARROWTy:
                                           (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                           (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                                        (SEQSpec:
                                         (VALSpec:
                                          (ValDesc:
                                           (VId: BAR)
                                           (ARROWTy:
                                            (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                            (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                                         (SEQSpec:
                                          (VALSpec:
                                           (ValDesc:
                                            (VId: UNDERBAR)
                                            (ARROWTy:
                                             (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                             (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                                          (SEQSpec:
                                           (VALSpec:
                                            (ValDesc:
                                             (VId: DOTS)
                                             (ARROWTy:
                                              (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                              (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                                           (SEQSpec:
                                            (VALSpec:
                                             (ValDesc:
                                              (VId: SEMICOLON)
                                              (ARROWTy:
                                               (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                               (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: token-type)))))
                                            (SEQSpec:
                                             (VALSpec:
                                              (ValDesc:
                                               (VId: COLON)
                                               (ARROWTy:
                                                (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                (CONTy:
                                                 (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                 (LongTyCon: token-type)))))
                                             (SEQSpec:
                                              (VALSpec:
                                               (ValDesc:
                                                (VId: COMMA)
                                                (ARROWTy:
                                                 (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                 (CONTy:
                                                  (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                  (LongTyCon: token-type)))))
                                              (SEQSpec:
                                               (VALSpec:
                                                (ValDesc:
                                                 (VId: RBRACE)
                                                 (ARROWTy:
                                                  (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                  (CONTy:
                                                   (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                   (LongTyCon: token-type)))))
                                               (SEQSpec:
                                                (VALSpec:
                                                 (ValDesc:
                                                  (VId: LBRACE)
                                                  (ARROWTy:
                                                   (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                   (CONTy:
                                                    (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                    (LongTyCon: token-type)))))
                                                (SEQSpec:
                                                 (VALSpec:
                                                  (ValDesc:
                                                   (VId: RBRACK)
                                                   (ARROWTy:
                                                    (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                    (CONTy:
                                                     (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                     (LongTyCon: token-type)))))
                                                 (SEQSpec:
                                                  (VALSpec:
                                                   (ValDesc:
                                                    (VId: LBRACK)
                                                    (ARROWTy:
                                                     (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                     (CONTy:
                                                      (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                      (LongTyCon: token-type)))))
                                                  (SEQSpec:
                                                   (VALSpec:
                                                    (ValDesc:
                                                     (VId: RPAR)
                                                     (ARROWTy:
                                                      (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                      (CONTy:
                                                       (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                       (LongTyCon: token-type)))))
                                                   (SEQSpec:
                                                    (VALSpec:
                                                     (ValDesc:
                                                      (VId: LPAR)
                                                      (ARROWTy:
                                                       (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                       (CONTy:
                                                        (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                        (LongTyCon: token-type)))))
                                                    (SEQSpec:
                                                     (VALSpec:
                                                      (ValDesc:
                                                       (VId: WHILE)
                                                       (ARROWTy:
                                                        (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                        (CONTy:
                                                         (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                         (LongTyCon: token-type)))))
                                                     (SEQSpec:
                                                      (VALSpec:
                                                       (ValDesc:
                                                        (VId: WITHTYPE)
                                                        (ARROWTy:
                                                         (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                         (CONTy:
                                                          (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                          (LongTyCon: token-type)))))
                                                      (SEQSpec:
                                                       (VALSpec:
                                                        (ValDesc:
                                                         (VId: WITH)
                                                         (ARROWTy:
                                                          (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                          (CONTy:
                                                           (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                           (LongTyCon: token-type)))))
                                                       (SEQSpec:
                                                        (VALSpec:
                                                         (ValDesc:
                                                          (VId: VAL)
                                                          (ARROWTy:
                                                           (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                           (CONTy:
                                                            (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                            (LongTyCon: token-type)))))
                                                        (SEQSpec:
                                                         (VALSpec:
                                                          (ValDesc:
                                                           (VId: TYPE)
                                                           (ARROWTy:
                                                            (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                            (CONTy:
                                                             (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                             (LongTyCon: token-type)))))
                                                         (SEQSpec:
                                                          (VALSpec:
                                                           (ValDesc:
                                                            (VId: THEN)
                                                            (ARROWTy:
                                                             (RECORDTy:
                                                              (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                             (CONTy:
                                                              (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                              (LongTyCon: token-type)))))
                                                          (SEQSpec:
                                                           (VALSpec:
                                                            (ValDesc:
                                                             (VId: REC)
                                                             (ARROWTy:
                                                              (RECORDTy:
                                                               (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                              (CONTy:
                                                               (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                               (LongTyCon: token-type)))))
                                                           (SEQSpec:
                                                            (VALSpec:
                                                             (ValDesc:
                                                              (VId: RAISE)
                                                              (ARROWTy:
                                                               (RECORDTy:
                                                                (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                               (CONTy:
                                                                (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                                (LongTyCon: token-type)))))
                                                            (SEQSpec:
                                                             (VALSpec:
                                                              (ValDesc:
                                                               (VId: ORELSE)
                                                               (ARROWTy:
                                                                (RECORDTy:
                                                                 (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                                (CONTy:
                                                                 (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                                 (LongTyCon: token-type)))))
                                                             (SEQSpec:
                                                              (VALSpec:
                                                               (ValDesc:
                                                                (VId: OPEN)
                                                                (ARROWTy:
                                                                 (RECORDTy:
                                                                  (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                                 (CONTy:
                                                                  (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                                  (LongTyCon: token-type)))))
                                                              (SEQSpec:
                                                               (VALSpec:
                                                                (ValDesc:
                                                                 (VId: OP)
                                                                 (ARROWTy:
                                                                  (RECORDTy:
                                                                   (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                                  (CONTy:
                                                                   (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                                   (LongTyCon: token-type)))))
                                                               (SEQSpec:
                                                                (VALSpec:
                                                                 (ValDesc:
                                                                  (VId: OF)
                                                                  (ARROWTy:
                                                                   (RECORDTy:
                                                                    (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                                   (CONTy:
                                                                    (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                                    (LongTyCon: token-type)))))
                                                                (SEQSpec:
                                                                 (VALSpec:
                                                                  (ValDesc:
                                                                   (VId: NONFIX)
                                                                   (ARROWTy:
                                                                    (RECORDTy:
                                                                     (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                                    (CONTy:
                                                                     (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                                     (LongTyCon: token-type)))))
                                                                 (SEQSpec:
                                                                  (VALSpec:
                                                                   (ValDesc:
                                                                    (VId: LOCAL)
                                                                    (ARROWTy:
                                                                     (RECORDTy:
                                                                      (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                                     (CONTy:
                                                                      (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                                      (LongTyCon: token-type)))))
                                                                  (SEQSpec:
                                                                   (VALSpec:
                                                                    (ValDesc:
                                                                     (VId: LET)
                                                                     (ARROWTy:
                                                                      (RECORDTy:
                                                                       (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                                      (CONTy:
                                                                       (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                                       (LongTyCon: token-type)))))
                                                                   (SEQSpec:
                                                                    (VALSpec:
                                                                     (ValDesc:
                                                                      (VId: INFIXR)
                                                                      (ARROWTy:
                                                                       (RECORDTy:
                                                                        (TyRow:
                                                                         (Lab: |1|)
                                                                         (VARTy: (TyVar: |'a|))
                                                                         (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                                       (CONTy:
                                                                        (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                                        (LongTyCon: token-type)))))
                                                                    (SEQSpec:
                                                                     (VALSpec:
                                                                      (ValDesc:
                                                                       (VId: INFIX)
                                                                       (ARROWTy:
                                                                        (RECORDTy:
                                                                         (TyRow:
                                                                          (Lab: |1|)
                                                                          (VARTy: (TyVar: |'a|))
                                                                          (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                                        (CONTy:
                                                                         (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                                         (LongTyCon: token-type)))))
                                                                     (SEQSpec:
                                                                      (VALSpec:
                                                                       (ValDesc:
                                                                        (VId: IN)
                                                                        (ARROWTy:
                                                                         (RECORDTy:
                                                                          (TyRow:
                                                                           (Lab: |1|)
                                                                           (VARTy: (TyVar: |'a|))
                                                                           (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                                         (CONTy:
                                                                          (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                                          (LongTyCon: token-type)))))
                                                                      (SEQSpec:
                                                                       (VALSpec:
                                                                        (ValDesc:
                                                                         (VId: IF)
                                                                         (ARROWTy:
                                                                          (RECORDTy:
                                                                           (TyRow:
                                                                            (Lab: |1|)
                                                                            (VARTy: (TyVar: |'a|))
                                                                            (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                                          (CONTy:
                                                                           (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                                           (LongTyCon: token-type)))))
                                                                       (SEQSpec:
                                                                        (VALSpec:
                                                                         (ValDesc:
                                                                          (VId: HANDLE)
                                                                          (ARROWTy:
                                                                           (RECORDTy:
                                                                            (TyRow:
                                                                             (Lab: |1|)
                                                                             (VARTy: (TyVar: |'a|))
                                                                             (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                                           (CONTy:
                                                                            (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                                            (LongTyCon: token-type)))))
                                                                        (SEQSpec:
                                                                         (VALSpec:
                                                                          (ValDesc:
                                                                           (VId: FUN)
                                                                           (ARROWTy:
                                                                            (RECORDTy:
                                                                             (TyRow:
                                                                              (Lab: |1|)
                                                                              (VARTy: (TyVar: |'a|))
                                                                              (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                                            (CONTy:
                                                                             (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                                             (LongTyCon: token-type)))))
                                                                         (SEQSpec:
                                                                          (VALSpec:
                                                                           (ValDesc:
                                                                            (VId: FN)
                                                                            (ARROWTy:
                                                                             (RECORDTy:
                                                                              (TyRow:
                                                                               (Lab: |1|)
                                                                               (VARTy: (TyVar: |'a|))
                                                                               (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                                             (CONTy:
                                                                              (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                                              (LongTyCon: token-type)))))
                                                                          (SEQSpec:
                                                                           (VALSpec:
                                                                            (ValDesc:
                                                                             (VId: EXCEPTION)
                                                                             (ARROWTy:
                                                                              (RECORDTy:
                                                                               (TyRow:
                                                                                (Lab: |1|)
                                                                                (VARTy: (TyVar: |'a|))
                                                                                (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                                              (CONTy:
                                                                               (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                                               (LongTyCon: token-type)))))
                                                                           (SEQSpec:
                                                                            (VALSpec:
                                                                             (ValDesc:
                                                                              (VId: END)
                                                                              (ARROWTy:
                                                                               (RECORDTy:
                                                                                (TyRow:
                                                                                 (Lab: |1|)
                                                                                 (VARTy: (TyVar: |'a|))
                                                                                 (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                                               (CONTy:
                                                                                (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                                                (LongTyCon: token-type)))))
                                                                            (SEQSpec:
                                                                             (VALSpec:
                                                                              (ValDesc:
                                                                               (VId: ELSE)
                                                                               (ARROWTy:
                                                                                (RECORDTy:
                                                                                 (TyRow:
                                                                                  (Lab: |1|)
                                                                                  (VARTy: (TyVar: |'a|))
                                                                                  (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                                                (CONTy:
                                                                                 (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                                                 (LongTyCon: token-type)))))
                                                                             (SEQSpec:
                                                                              (VALSpec:
                                                                               (ValDesc:
                                                                                (VId: DATATYPE)
                                                                                (ARROWTy:
                                                                                 (RECORDTy:
                                                                                  (TyRow:
                                                                                   (Lab: |1|)
                                                                                   (VARTy: (TyVar: |'a|))
                                                                                   (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                                                 (CONTy:
                                                                                  (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                                                  (LongTyCon: token-type)))))
                                                                              (SEQSpec:
                                                                               (VALSpec:
                                                                                (ValDesc:
                                                                                 (VId: DO)
                                                                                 (ARROWTy:
                                                                                  (RECORDTy:
                                                                                   (TyRow:
                                                                                    (Lab: |1|)
                                                                                    (VARTy: (TyVar: |'a|))
                                                                                    (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                                                  (CONTy:
                                                                                   (Tyseq: (CONTy: (Tyseq:) (LongTyCon: svalue-type)) (VARTy: (TyVar: |'a|)))
                                                                                   (LongTyCon: token-type)))))
                                                                               (SEQSpec:
                                                                                (VALSpec:
                                                                                 (ValDesc:
                                                                                  (VId: CASE)
                                                                                  (ARROWTy:
                                                                                   (RECORDTy:
                                                                                    (TyRow:
                                                                                     (Lab: |1|)
                                                                                     (VARTy: (TyVar: |'a|))
                                                                                     (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                                                   (CONTy:
                                                                                    (Tyseq:
                                                                                     (CONTy: (Tyseq:) (LongTyCon: svalue-type))
                                                                                     (VARTy: (TyVar: |'a|)))
                                                                                    (LongTyCon: token-type)))))
                                                                                (SEQSpec:
                                                                                 (VALSpec:
                                                                                  (ValDesc:
                                                                                   (VId: AS)
                                                                                   (ARROWTy:
                                                                                    (RECORDTy:
                                                                                     (TyRow:
                                                                                      (Lab: |1|)
                                                                                      (VARTy: (TyVar: |'a|))
                                                                                      (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                                                    (CONTy:
                                                                                     (Tyseq:
                                                                                      (CONTy: (Tyseq:) (LongTyCon: svalue-type))
                                                                                      (VARTy: (TyVar: |'a|)))
                                                                                     (LongTyCon: token-type)))))
                                                                                 (SEQSpec:
                                                                                  (VALSpec:
                                                                                   (ValDesc:
                                                                                    (VId: ANDALSO)
                                                                                    (ARROWTy:
                                                                                     (RECORDTy:
                                                                                      (TyRow:
                                                                                       (Lab: |1|)
                                                                                       (VARTy: (TyVar: |'a|))
                                                                                       (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                                                     (CONTy:
                                                                                      (Tyseq:
                                                                                       (CONTy: (Tyseq:) (LongTyCon: svalue-type))
                                                                                       (VARTy: (TyVar: |'a|)))
                                                                                      (LongTyCon: token-type)))))
                                                                                  (SEQSpec:
                                                                                   (VALSpec:
                                                                                    (ValDesc:
                                                                                     (VId: AND)
                                                                                     (ARROWTy:
                                                                                      (RECORDTy:
                                                                                       (TyRow:
                                                                                        (Lab: |1|)
                                                                                        (VARTy: (TyVar: |'a|))
                                                                                        (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                                                      (CONTy:
                                                                                       (Tyseq:
                                                                                        (CONTy: (Tyseq:) (LongTyCon: svalue-type))
                                                                                        (VARTy: (TyVar: |'a|)))
                                                                                       (LongTyCon: token-type)))))
                                                                                   (SEQSpec:
                                                                                    (VALSpec:
                                                                                     (ValDesc:
                                                                                      (VId: ABSTYPE)
                                                                                      (ARROWTy:
                                                                                       (RECORDTy:
                                                                                        (TyRow:
                                                                                         (Lab: |1|)
                                                                                         (VARTy: (TyVar: |'a|))
                                                                                         (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                                                       (CONTy:
                                                                                        (Tyseq:
                                                                                         (CONTy: (Tyseq:) (LongTyCon: svalue-type))
                                                                                         (VARTy: (TyVar: |'a|)))
                                                                                        (LongTyCon: token-type)))))
                                                                                    (VALSpec:
                                                                                     (ValDesc:
                                                                                      (VId: EOF)
                                                                                      (ARROWTy:
                                                                                       (RECORDTy:
                                                                                        (TyRow:
                                                                                         (Lab: |1|)
                                                                                         (VARTy: (TyVar: |'a|))
                                                                                         (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))
                                                                                       (CONTy:
                                                                                        (Tyseq:
                                                                                         (CONTy: (Tyseq:) (LongTyCon: svalue-type))
                                                                                         (VARTy: (TyVar: |'a|)))
                                                                                        (LongTyCon:
                                                                                         token-type))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))