hamlet/TOKEN-sig.ss
(module TOKEN-sig (planet chongkai/sml)
  (#%module-begin
   (Program:
    (SIGDECTopDec:
     (SigDec:
      (SigBind:
       (SigId: TOKEN-sig)
       (SIGSigExp:
        (SEQSpec:
         (STRUCTURESpec: (StrDesc: (StrId: LrTable-struct) (IDSigExp: (SigId: LR_TABLE-sig))))
         (SEQSpec:
          (DATATYPESpec:
           (DatDesc:
            (TyVarseq: (TyVar: |'a|) (TyVar: |'b|))
            (TyCon: token-type)
            (ConDesc:
             (VId: TOKEN)
             (RECORDTy:
              (TyRow:
               (Lab: |1|)
               (CONTy: (Tyseq:) (LongTyCon: LrTable.term-type))
               (TyRow:
                (Lab: |2|)
                (PARTy:
                 (RECORDTy:
                  (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'b|)) (TyRow: (Lab: |3|) (VARTy: (TyVar: |'b|)))))))))))))
          (VALSpec:
           (ValDesc:
            (VId: sameToken)
            (ARROWTy:
             (RECORDTy:
              (TyRow:
               (Lab: |1|)
               (CONTy: (Tyseq: (VARTy: (TyVar: |'a|)) (VARTy: (TyVar: |'b|))) (LongTyCon: token-type))
               (TyRow: (Lab: |2|) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|)) (VARTy: (TyVar: |'b|))) (LongTyCon: token-type)))))
             (CONTy: (Tyseq:) (LongTyCon: bool-type))))))))))))))