Skip to content

Instantly share code, notes, and snippets.

@tizoc
Created September 27, 2019 12:45
Show Gist options
  • Select an option

  • Save tizoc/f13336865c4b60a1b7ad5030710c8acf to your computer and use it in GitHub Desktop.

Select an option

Save tizoc/f13336865c4b60a1b7ad5030710c8acf to your computer and use it in GitHub Desktop.

Revisions

  1. tizoc created this gist Sep 27, 2019.
    2,507 changes: 2,507 additions & 0 deletions init.scm
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,2507 @@
    (define (kl:shen.initialise)
    (begin
    (kl:set 'shen.*installing-kl* #f)
    (kl:set 'shen.*history* '())
    (kl:set 'shen.*tc* #f)
    (kl:set '*property-vector* (kl:shen.dict 20000))
    (kl:set 'shen.*process-counter* 0)
    (kl:set 'shen.*varcounter* (kl:vector 10000))
    (kl:set 'shen.*prologvectors* (kl:vector 10000))
    (kl:set 'shen.*demodulation-function* (lambda (X) X))
    (kl:set
    'shen.*macroreg*
    (list 'shen.timer-macro 'shen.cases-macro 'shen.abs-macro
    'shen.put/get-macro 'shen.compile-macro 'shen.datatype-macro
    'shen.let-macro 'shen.assoc-macro 'shen.make-string-macro
    'shen.output-macro 'shen.input-macro 'shen.error-macro
    'shen.prolog-macro 'shen.synonyms-macro 'shen.nl-macro
    'shen.@s-macro 'shen.defprolog-macro 'shen.function-macro))
    (kl:set
    '*macros*
    (list (lambda (X) (kl:shen.timer-macro X))
    (lambda (X) (kl:shen.cases-macro X))
    (lambda (X) (kl:shen.abs-macro X))
    (lambda (X) (kl:shen.put/get-macro X))
    (lambda (X) (kl:shen.compile-macro X))
    (lambda (X) (kl:shen.datatype-macro X))
    (lambda (X) (kl:shen.let-macro X))
    (lambda (X) (kl:shen.assoc-macro X))
    (lambda (X) (kl:shen.make-string-macro X))
    (lambda (X) (kl:shen.output-macro X))
    (lambda (X) (kl:shen.input-macro X))
    (lambda (X) (kl:shen.error-macro X))
    (lambda (X) (kl:shen.prolog-macro X))
    (lambda (X) (kl:shen.synonyms-macro X))
    (lambda (X) (kl:shen.nl-macro X))
    (lambda (X) (kl:shen.@s-macro X))
    (lambda (X) (kl:shen.defprolog-macro X))
    (lambda (X) (kl:shen.function-macro X))))
    (kl:set 'shen.*gensym* 0)
    (kl:set 'shen.*tracking* '())
    (kl:set
    'shen.*alphabet*
    (list 'A 'B 'C 'D 'E 'F 'G 'H 'I 'J 'K 'L 'M 'N 'O 'P 'Q 'R
    'S 'T 'U 'V 'W 'X 'Y 'Z))
    (kl:set
    'shen.*special*
    (list '\x40;p '\x40;s '\x40;v 'cons 'lambda 'let 'where 'set
    'open))
    (kl:set
    'shen.*extraspecial*
    (list 'define 'shen.process-datatype 'input+ 'defcc
    'shen.read+ 'defmacro))
    (kl:set 'shen.*spy* #f)
    (kl:set 'shen.*datatypes* '())
    (kl:set 'shen.*alldatatypes* '())
    (kl:set 'shen.*shen-type-theory-enabled?* #t)
    (kl:set 'shen.*synonyms* '())
    (kl:set 'shen.*system* '())
    (kl:set 'shen.*signedfuncs* '())
    (kl:set 'shen.*maxcomplexity* 128)
    (kl:set 'shen.*occurs* #t)
    (kl:set 'shen.*maxinferences* 1000000)
    (kl:set '*maximum-print-sequence-size* 20)
    (kl:set 'shen.*catch* 0)
    (kl:set 'shen.*call* 0)
    (kl:set 'shen.*infs* 0)
    (kl:set '*hush* #f)
    (kl:set 'shen.*optimise* #f)
    (kl:set '*version* "Shen 22.0")
    (if (kl:not (kl:bound? '*home-directory*))
    (kl:set '*home-directory* "")
    'shen.skip)
    (if (kl:not (kl:bound? '*sterror*))
    (kl:set '*sterror* (kl:value '*stoutput*))
    'shen.skip)
    (kl:shen.initialise_arity_table
    (list 'abort 0 'absvector? 1 'absvector 1 'adjoin 2 'and 2
    'append 2 'arity 1 'assoc 2 'boolean? 1 'bound? 1 'cd 1
    'close 1 'compile 3 'concat 2 'cons 2 'cons? 1 'cn 2
    'declare 2 'destroy 1 'difference 2 'do 2 'element? 2
    'empty? 1 'enable-type-theory 1 'error-to-string 1
    'shen.interror 2 'eval 1 'eval-kl 1 'explode 1 'external 1
    'fail-if 2 'fail 0 'fix 2 'findall 5 'freeze 1 'fst 1
    'gensym 1 'get 3 'get-time 1 'address-> 3 '<-address 2
    '<-vector 2 '> 2 '>= 2 '= 2 'hash 2 'hd 1 'hdv 1 'hdstr 1
    'head 1 'if 3 'integer? 1 'intern 1 'identical 4 'inferences
    0 'input 1 'input+ 2 'implementation 0 'intersection 2
    'internal 1 'it 0 'kill 0 'language 0 'length 1 'limit 1
    'lineread 1 'load 1 '< 2 '<= 2 'vector 1 'macroexpand 1 'map
    2 'mapcan 2 'maxinferences 1 'nl 1 'not 1 'nth 2 'n->string
    1 'number? 1 'occurs-check 1 'occurrences 2 'occurs-check 1
    'open 2 'optimise 1 'or 2 'os 0 'package 3 'package? 1 'port
    0 'porters 0 'pos 2 'print 1 'profile 1 'profile-results 1
    'pr 2 'ps 1 'preclude 1 'preclude-all-but 1 'protect 1
    'address-> 3 'put 4 'shen.reassemble 2 'read-file-as-string
    1 'read-file 1 'read-file-as-bytelist 1 'read 1 'read-byte 1
    'read-from-string 1 'receive 1 'release 0 'remove 2
    'shen.require 3 'reverse 1 'set 2 'simple-error 1 'snd 1
    'specialise 1 'spy 1 'step 1 'stinput 0 'stoutput 0 'sterror
    0 'string->n 1 'string->symbol 1 'string? 1 'str 1 'subst 3
    'sum 1 'symbol? 1 'systemf 1 'tail 1 'tl 1 'tc 1 'tc? 0
    'thaw 1 'tlstr 1 'track 1 'trap-error 2 'tuple? 1 'type 2
    'return 3 'undefmacro 1 'unput 3 'unprofile 1 'unify 4
    'unify! 4 'union 2 'untrack 1 'unspecialise 1 'undefmacro 1
    'vector 1 'vector? 1 'vector-> 3 'value 1 'variable? 1
    'version 0 'write-byte 2 'write-to-file 2 'y-or-n? 1 '+ 2 '*
    2 '/ 2 '- 2 '== 2 '<e> 1 '<!> 1 '\x40;p 2 '\x40;v 2 '\x40;s
    2 'preclude 1 'include 1 'preclude-all-but 1
    'include-all-but 1))
    (kl:put
    'shen
    'shen.external-symbols
    (list '! '\x7D; '\x7B; '\x2D;-> '<-- '&& ': '\x3B; ':- ':= '_
    '\x2C; '*language* '*implementation* '*stinput* '*stoutput*
    '*sterror* '*home-directory* '*version*
    '*maximum-print-sequence-size* '*macros* '*os* '*release*
    '*property-vector* '*port* '*porters* '*hush* '\x40;v
    '\x40;p '\x40;s '<- '-> '<e> '<!> '== '= '>= '> '/. '=! '$
    '- '/ '* '+ '<= '< '>> 'y-or-n? 'write-to-file 'write-byte
    'where 'when 'warn 'version 'verified 'variable? 'value
    'vector-> '<-vector 'vector 'vector? 'unspecialise 'untrack
    'unit 'shen.unix 'union 'unify 'unify! 'unput 'unprofile
    'undefmacro 'return 'type 'tuple? #t 'trap-error 'track
    'time 'thaw 'tc? 'tc 'tl 'tlstr 'tlv 'tail 'systemf
    'synonyms 'symbol 'symbol? 'string->symbol 'sum 'subst
    'string? 'string->n 'stream 'string 'stinput 'sterror
    'stoutput 'step 'spy 'specialise 'snd 'simple-error 'set
    'save 'str 'run 'reverse 'remove 'release 'read 'receive
    'read-file 'read-file-as-bytelist 'read-file-as-string
    'read-byte 'read-from-string 'package? 'put 'preclude
    'preclude-all-but 'ps 'prolog? 'protect 'profile-results
    'profile 'print 'pr 'pos 'porters 'port 'package 'output
    'out 'os 'or 'optimise 'open 'occurrences 'occurs-check
    'n->string 'number? 'number 'null 'nth 'not 'nl 'mode
    'macroexpand 'maxinferences 'mapcan 'map 'make-string 'load
    'loaded 'list 'lineread 'limit 'length 'let 'lazy 'lambda
    'language 'kill 'is 'intersection 'inferences 'intern
    'integer? 'input 'input+ 'include 'include-all-but 'it 'in
    'internal 'implementation 'if 'identical 'head 'hd 'hdv
    'hdstr 'hash 'get 'get-time 'gensym 'function 'fst 'freeze
    'fix 'file 'fail 'fail-if 'fwhen 'findall #f
    'enable-type-theory 'explode 'external 'exception 'eval-kl
    'eval 'error-to-string 'error 'empty? 'element? 'do
    'difference 'destroy 'defun 'define 'defmacro 'defcc
    'defprolog 'declare 'datatype 'cut 'cn 'cons? 'cons 'cond
    'concat 'compile 'cd 'cases 'call 'close 'bind 'bound?
    'boolean? 'boolean 'bar! 'assoc 'arity 'abort 'append 'and
    'adjoin '<-address 'address-> 'absvector? 'absvector)
    (kl:value '*property-vector*))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.datatype-error
    (lambda (X) (kl:shen.datatype-error X))))
    (kl:shen.set-lambda-form-entry
    (cons 'shen.tuple (lambda (X) (kl:shen.tuple X))))
    (kl:shen.set-lambda-form-entry
    (cons 'shen.pvar (lambda (X) (kl:shen.pvar X))))
    (kl:shen.set-lambda-form-entry
    (cons 'shen.dictionary (lambda (X) (kl:shen.dictionary X))))
    (kl:shen.set-lambda-form-entry
    (cons
    '\x40;v
    (lambda (V1579) (lambda (V1580) (kl:@v V1579 V1580)))))
    (kl:shen.set-lambda-form-entry
    (cons
    '\x40;p
    (lambda (V1581) (lambda (V1582) (kl:@p V1581 V1582)))))
    (kl:shen.set-lambda-form-entry
    (cons
    '\x40;s
    (lambda (V1583) (lambda (V1584) (kl:@s V1583 V1584)))))
    (kl:shen.set-lambda-form-entry
    (cons '<e> (lambda (V1585) (kl:<e> V1585))))
    (kl:shen.set-lambda-form-entry
    (cons '<!> (lambda (V1586) (kl:<!> V1586))))
    (kl:shen.set-lambda-form-entry
    (cons
    '==
    (lambda (V1587) (lambda (V1588) (kl:== V1587 V1588)))))
    (kl:shen.set-lambda-form-entry
    (cons
    '=
    (lambda (V1589) (lambda (V1590) (kl:= V1589 V1590)))))
    (kl:shen.set-lambda-form-entry
    (cons
    '>=
    (lambda (V1591) (lambda (V1592) (>= V1591 V1592)))))
    (kl:shen.set-lambda-form-entry
    (cons '> (lambda (V1593) (lambda (V1594) (> V1593 V1594)))))
    (kl:shen.set-lambda-form-entry
    (cons '- (lambda (V1595) (lambda (V1596) (- V1595 V1596)))))
    (kl:shen.set-lambda-form-entry
    (cons
    '/
    (lambda (V1597)
    (lambda (V1598) (non-rational-/ V1597 V1598)))))
    (kl:shen.set-lambda-form-entry
    (cons '* (lambda (V1599) (lambda (V1600) (* V1599 V1600)))))
    (kl:shen.set-lambda-form-entry
    (cons '+ (lambda (V1601) (lambda (V1602) (+ V1601 V1602)))))
    (kl:shen.set-lambda-form-entry
    (cons
    '<=
    (lambda (V1603) (lambda (V1604) (<= V1603 V1604)))))
    (kl:shen.set-lambda-form-entry
    (cons '< (lambda (V1605) (lambda (V1606) (< V1605 V1606)))))
    (kl:shen.set-lambda-form-entry
    (cons 'y-or-n? (lambda (V1607) (kl:y-or-n? V1607))))
    (kl:shen.set-lambda-form-entry
    (cons
    'write-to-file
    (lambda (V1608)
    (lambda (V1609) (kl:write-to-file V1608 V1609)))))
    (kl:shen.set-lambda-form-entry
    (cons
    'write-byte
    (lambda (V1610)
    (lambda (V1611) (kl:write-byte V1610 V1611)))))
    (kl:shen.set-lambda-form-entry
    (cons 'variable? (lambda (V1612) (kl:variable? V1612))))
    (kl:shen.set-lambda-form-entry
    (cons 'value (lambda (V1613) (kl:value V1613))))
    (kl:shen.set-lambda-form-entry
    (cons
    'vector->
    (lambda (V1614)
    (lambda (V1615)
    (lambda (V1616) (kl:vector-> V1614 V1615 V1616))))))
    (kl:shen.set-lambda-form-entry
    (cons
    '<-vector
    (lambda (V1617)
    (lambda (V1618) (kl:<-vector V1617 V1618)))))
    (kl:shen.set-lambda-form-entry
    (cons 'vector (lambda (V1619) (kl:vector V1619))))
    (kl:shen.set-lambda-form-entry
    (cons 'vector? (lambda (V1620) (kl:vector? V1620))))
    (kl:shen.set-lambda-form-entry
    (cons
    'unspecialise
    (lambda (V1621) (kl:unspecialise V1621))))
    (kl:shen.set-lambda-form-entry
    (cons 'untrack (lambda (V1622) (kl:untrack V1622))))
    (kl:shen.set-lambda-form-entry
    (cons
    'union
    (lambda (V1623) (lambda (V1624) (kl:union V1623 V1624)))))
    (kl:shen.set-lambda-form-entry
    (cons
    'unify
    (lambda (V1625)
    (lambda (V1626)
    (lambda (V1627)
    (lambda (V1628) (kl:unify V1625 V1626 V1627 V1628)))))))
    (kl:shen.set-lambda-form-entry
    (cons
    'unify!
    (lambda (V1629)
    (lambda (V1630)
    (lambda (V1631)
    (lambda (V1632) (kl:unify! V1629 V1630 V1631 V1632)))))))
    (kl:shen.set-lambda-form-entry
    (cons
    'unput
    (lambda (V1633)
    (lambda (V1634)
    (lambda (V1635) (kl:unput V1633 V1634 V1635))))))
    (kl:shen.set-lambda-form-entry
    (cons 'unprofile (lambda (V1636) (kl:unprofile V1636))))
    (kl:shen.set-lambda-form-entry
    (cons 'undefmacro (lambda (V1637) (kl:undefmacro V1637))))
    (kl:shen.set-lambda-form-entry
    (cons
    'return
    (lambda (V1638)
    (lambda (V1639)
    (lambda (V1640) (kl:return V1638 V1639 V1640))))))
    (kl:shen.set-lambda-form-entry
    (cons 'type (lambda (V1641) (lambda (V1642) V1641))))
    (kl:shen.set-lambda-form-entry
    (cons 'tuple? (lambda (V1643) (kl:tuple? V1643))))
    (kl:shen.set-lambda-form-entry
    (cons
    'trap-error
    (lambda (V1644)
    (lambda (V1645)
    (let ([?handler V1645])
    (guard (?exn [else (?handler ?exn)]) V1644))))))
    (kl:shen.set-lambda-form-entry
    (cons 'track (lambda (V1646) (kl:track V1646))))
    (kl:shen.set-lambda-form-entry
    (cons 'thaw (lambda (V1647) (V1647))))
    (kl:shen.set-lambda-form-entry
    (cons 'tc (lambda (V1648) (kl:tc V1648))))
    (kl:shen.set-lambda-form-entry
    (cons 'tl (lambda (V1649) (cdr V1649))))
    (kl:shen.set-lambda-form-entry
    (cons
    'tlstr
    (lambda (V1650)
    (let ([_scm.tmp V1650])
    (substring _scm.tmp 1 (string-length _scm.tmp))))))
    (kl:shen.set-lambda-form-entry
    (cons 'tail (lambda (V1651) (kl:tail V1651))))
    (kl:shen.set-lambda-form-entry
    (cons 'systemf (lambda (V1652) (kl:systemf V1652))))
    (kl:shen.set-lambda-form-entry
    (cons 'symbol? (lambda (V1653) (kl:symbol? V1653))))
    (kl:shen.set-lambda-form-entry
    (cons
    'string->symbol
    (lambda (V1654) (kl:string->symbol V1654))))
    (kl:shen.set-lambda-form-entry
    (cons 'sum (lambda (V1655) (kl:sum V1655))))
    (kl:shen.set-lambda-form-entry
    (cons
    'subst
    (lambda (V1656)
    (lambda (V1657)
    (lambda (V1658) (kl:subst V1656 V1657 V1658))))))
    (kl:shen.set-lambda-form-entry
    (cons 'string? (lambda (V1659) (string? V1659))))
    (kl:shen.set-lambda-form-entry
    (cons
    'string->n
    (lambda (V1660) (char->integer (string-ref V1660 0)))))
    (kl:shen.set-lambda-form-entry
    (cons 'step (lambda (V1661) (kl:step V1661))))
    (kl:shen.set-lambda-form-entry
    (cons 'spy (lambda (V1662) (kl:spy V1662))))
    (kl:shen.set-lambda-form-entry
    (cons 'specialise (lambda (V1663) (kl:specialise V1663))))
    (kl:shen.set-lambda-form-entry
    (cons 'snd (lambda (V1664) (kl:snd V1664))))
    (kl:shen.set-lambda-form-entry
    (cons
    'simple-error
    (lambda (V1665) (error 'shen.initialise V1665))))
    (kl:shen.set-lambda-form-entry
    (cons
    'set
    (lambda (V1666) (lambda (V1667) (kl:set V1666 V1667)))))
    (kl:shen.set-lambda-form-entry
    (cons 'str (lambda (V1668) (kl:str V1668))))
    (kl:shen.set-lambda-form-entry
    (cons 'reverse (lambda (V1669) (kl:reverse V1669))))
    (kl:shen.set-lambda-form-entry
    (cons
    'remove
    (lambda (V1670) (lambda (V1671) (kl:remove V1670 V1671)))))
    (kl:shen.set-lambda-form-entry
    (cons 'read (lambda (V1672) (kl:read V1672))))
    (kl:shen.set-lambda-form-entry
    (cons 'read-file (lambda (V1673) (kl:read-file V1673))))
    (kl:shen.set-lambda-form-entry
    (cons
    'read-file-as-bytelist
    (lambda (V1674) (kl:read-file-as-bytelist V1674))))
    (kl:shen.set-lambda-form-entry
    (cons
    'read-file-as-string
    (lambda (V1675) (kl:read-file-as-string V1675))))
    (kl:shen.set-lambda-form-entry
    (cons 'read-byte (lambda (V1676) (kl:read-byte V1676))))
    (kl:shen.set-lambda-form-entry
    (cons
    'read-from-string
    (lambda (V1677) (kl:read-from-string V1677))))
    (kl:shen.set-lambda-form-entry
    (cons 'package? (lambda (V1678) (kl:package? V1678))))
    (kl:shen.set-lambda-form-entry
    (cons
    'put
    (lambda (V1679)
    (lambda (V1680)
    (lambda (V1681)
    (lambda (V1682) (kl:put V1679 V1680 V1681 V1682)))))))
    (kl:shen.set-lambda-form-entry
    (cons 'preclude (lambda (V1683) (kl:preclude V1683))))
    (kl:shen.set-lambda-form-entry
    (cons
    'preclude-all-but
    (lambda (V1684) (kl:preclude-all-but V1684))))
    (kl:shen.set-lambda-form-entry
    (cons 'ps (lambda (V1685) (kl:ps V1685))))
    (kl:shen.set-lambda-form-entry
    (cons 'protect (lambda (V1686) (kl:protect V1686))))
    (kl:shen.set-lambda-form-entry
    (cons
    'profile-results
    (lambda (V1687) (kl:profile-results V1687))))
    (kl:shen.set-lambda-form-entry
    (cons 'profile (lambda (V1688) (kl:profile V1688))))
    (kl:shen.set-lambda-form-entry
    (cons 'print (lambda (V1689) (kl:print V1689))))
    (kl:shen.set-lambda-form-entry
    (cons
    'pr
    (lambda (V1690) (lambda (V1691) (kl:pr V1690 V1691)))))
    (kl:shen.set-lambda-form-entry
    (cons
    'pos
    (lambda (V1692)
    (lambda (V1693) (string (string-ref V1692 V1693))))))
    (kl:shen.set-lambda-form-entry
    (cons
    'or
    (lambda (V1694)
    (lambda (V1695)
    (or (kl:_scm.assert-boolean V1694)
    (kl:_scm.assert-boolean V1695))))))
    (kl:shen.set-lambda-form-entry
    (cons 'optimise (lambda (V1696) (kl:optimise V1696))))
    (kl:shen.set-lambda-form-entry
    (cons
    'open
    (lambda (V1697) (lambda (V1698) (kl:open V1697 V1698)))))
    (kl:shen.set-lambda-form-entry
    (cons
    'occurrences
    (lambda (V1699)
    (lambda (V1700) (kl:occurrences V1699 V1700)))))
    (kl:shen.set-lambda-form-entry
    (cons
    'occurs-check
    (lambda (V1701) (kl:occurs-check V1701))))
    (kl:shen.set-lambda-form-entry
    (cons
    'n->string
    (lambda (V1702) (string (integer->char V1702)))))
    (kl:shen.set-lambda-form-entry
    (cons 'number? (lambda (V1703) (number? V1703))))
    (kl:shen.set-lambda-form-entry
    (cons
    'nth
    (lambda (V1704) (lambda (V1705) (kl:nth V1704 V1705)))))
    (kl:shen.set-lambda-form-entry
    (cons 'not (lambda (V1706) (kl:not V1706))))
    (kl:shen.set-lambda-form-entry
    (cons 'nl (lambda (V1707) (kl:nl V1707))))
    (kl:shen.set-lambda-form-entry
    (cons 'macroexpand (lambda (V1708) (kl:macroexpand V1708))))
    (kl:shen.set-lambda-form-entry
    (cons
    'maxinferences
    (lambda (V1709) (kl:maxinferences V1709))))
    (kl:shen.set-lambda-form-entry
    (cons
    'mapcan
    (lambda (V1710) (lambda (V1711) (kl:mapcan V1710 V1711)))))
    (kl:shen.set-lambda-form-entry
    (cons
    'map
    (lambda (V1712) (lambda (V1713) (kl:map V1712 V1713)))))
    (kl:shen.set-lambda-form-entry
    (cons 'load (lambda (V1714) (kl:load V1714))))
    (kl:shen.set-lambda-form-entry
    (cons 'lineread (lambda (V1715) (kl:lineread V1715))))
    (kl:shen.set-lambda-form-entry
    (cons 'limit (lambda (V1716) (kl:limit V1716))))
    (kl:shen.set-lambda-form-entry
    (cons 'length (lambda (V1717) (kl:length V1717))))
    (kl:shen.set-lambda-form-entry
    (cons
    'intersection
    (lambda (V1718)
    (lambda (V1719) (kl:intersection V1718 V1719)))))
    (kl:shen.set-lambda-form-entry
    (cons 'intern (lambda (V1720) (kl:intern V1720))))
    (kl:shen.set-lambda-form-entry
    (cons 'integer? (lambda (V1721) (kl:integer? V1721))))
    (kl:shen.set-lambda-form-entry
    (cons 'input (lambda (V1722) (kl:input V1722))))
    (kl:shen.set-lambda-form-entry
    (cons
    'input+
    (lambda (V1723) (lambda (V1724) (kl:input+ V1723 V1724)))))
    (kl:shen.set-lambda-form-entry
    (cons 'include (lambda (V1725) (kl:include V1725))))
    (kl:shen.set-lambda-form-entry
    (cons
    'include-all-but
    (lambda (V1726) (kl:include-all-but V1726))))
    (kl:shen.set-lambda-form-entry
    (cons 'internal (lambda (V1727) (kl:internal V1727))))
    (kl:shen.set-lambda-form-entry
    (cons
    'if
    (lambda (V1728)
    (lambda (V1729)
    (lambda (V1730)
    (if (kl:_scm.assert-boolean V1728) V1729 V1730))))))
    (kl:shen.set-lambda-form-entry
    (cons
    'identical
    (lambda (V1731)
    (lambda (V1732)
    (lambda (V1733)
    (lambda (V1734) (kl:identical V1731 V1732 V1733 V1734)))))))
    (kl:shen.set-lambda-form-entry
    (cons 'head (lambda (V1735) (kl:head V1735))))
    (kl:shen.set-lambda-form-entry
    (cons 'hd (lambda (V1736) (car V1736))))
    (kl:shen.set-lambda-form-entry
    (cons 'hdv (lambda (V1737) (kl:hdv V1737))))
    (kl:shen.set-lambda-form-entry
    (cons 'hdstr (lambda (V1738) (kl:hdstr V1738))))
    (kl:shen.set-lambda-form-entry
    (cons
    'hash
    (lambda (V1739) (lambda (V1740) (kl:hash V1739 V1740)))))
    (kl:shen.set-lambda-form-entry
    (cons
    'get
    (lambda (V1741)
    (lambda (V1742)
    (lambda (V1743) (kl:get V1741 V1742 V1743))))))
    (kl:shen.set-lambda-form-entry
    (cons 'get-time (lambda (V1744) (kl:get-time V1744))))
    (kl:shen.set-lambda-form-entry
    (cons 'gensym (lambda (V1745) (kl:gensym V1745))))
    (kl:shen.set-lambda-form-entry
    (cons 'fst (lambda (V1746) (kl:fst V1746))))
    (kl:shen.set-lambda-form-entry
    (cons 'freeze (lambda (V1747) (lambda () V1747))))
    (kl:shen.set-lambda-form-entry
    (cons
    'fix
    (lambda (V1748) (lambda (V1749) (kl:fix V1748 V1749)))))
    (kl:shen.set-lambda-form-entry
    (cons
    'fail-if
    (lambda (V1750) (lambda (V1751) (kl:fail-if V1750 V1751)))))
    (kl:shen.set-lambda-form-entry
    (cons
    'findall
    (lambda (V1752)
    (lambda (V1753)
    (lambda (V1754)
    (lambda (V1755)
    (lambda (V1756)
    (kl:findall V1752 V1753 V1754 V1755 V1756))))))))
    (kl:shen.set-lambda-form-entry
    (cons
    'enable-type-theory
    (lambda (V1757) (kl:enable-type-theory V1757))))
    (kl:shen.set-lambda-form-entry
    (cons 'explode (lambda (V1758) (kl:explode V1758))))
    (kl:shen.set-lambda-form-entry
    (cons 'external (lambda (V1759) (kl:external V1759))))
    (kl:shen.set-lambda-form-entry
    (cons 'eval-kl (lambda (V1760) (kl:eval-kl V1760))))
    (kl:shen.set-lambda-form-entry
    (cons 'eval (lambda (V1761) (kl:eval V1761))))
    (kl:shen.set-lambda-form-entry
    (cons
    'error-to-string
    (lambda (V1762) (kl:error-to-string V1762))))
    (kl:shen.set-lambda-form-entry
    (cons 'empty? (lambda (V1763) (kl:empty? V1763))))
    (kl:shen.set-lambda-form-entry
    (cons
    'element?
    (lambda (V1764)
    (lambda (V1765) (kl:element? V1764 V1765)))))
    (kl:shen.set-lambda-form-entry
    (cons
    'do
    (lambda (V1766) (lambda (V1767) (begin V1766 V1767)))))
    (kl:shen.set-lambda-form-entry
    (cons
    'difference
    (lambda (V1768)
    (lambda (V1769) (kl:difference V1768 V1769)))))
    (kl:shen.set-lambda-form-entry
    (cons 'destroy (lambda (V1770) (kl:destroy V1770))))
    (kl:shen.set-lambda-form-entry
    (cons
    'declare
    (lambda (V1771) (lambda (V1772) (kl:declare V1771 V1772)))))
    (kl:shen.set-lambda-form-entry
    (cons
    'cn
    (lambda (V1773)
    (lambda (V1774) (string-append V1773 V1774)))))
    (kl:shen.set-lambda-form-entry
    (cons 'cons? (lambda (V1775) (pair? V1775))))
    (kl:shen.set-lambda-form-entry
    (cons
    'cons
    (lambda (V1776) (lambda (V1777) (cons V1776 V1777)))))
    (kl:shen.set-lambda-form-entry
    (cons
    'concat
    (lambda (V1778) (lambda (V1779) (kl:concat V1778 V1779)))))
    (kl:shen.set-lambda-form-entry
    (cons
    'compile
    (lambda (V1780)
    (lambda (V1781)
    (lambda (V1782) (kl:compile V1780 V1781 V1782))))))
    (kl:shen.set-lambda-form-entry
    (cons 'cd (lambda (V1783) (kl:cd V1783))))
    (kl:shen.set-lambda-form-entry
    (cons 'close (lambda (V1784) (kl:close V1784))))
    (kl:shen.set-lambda-form-entry
    (cons 'bound? (lambda (V1785) (kl:bound? V1785))))
    (kl:shen.set-lambda-form-entry
    (cons 'boolean? (lambda (V1786) (kl:boolean? V1786))))
    (kl:shen.set-lambda-form-entry
    (cons
    'assoc
    (lambda (V1787) (lambda (V1788) (kl:assoc V1787 V1788)))))
    (kl:shen.set-lambda-form-entry
    (cons 'arity (lambda (V1789) (kl:arity V1789))))
    (kl:shen.set-lambda-form-entry
    (cons
    'append
    (lambda (V1790) (lambda (V1791) (kl:append V1790 V1791)))))
    (kl:shen.set-lambda-form-entry
    (cons
    'and
    (lambda (V1792)
    (lambda (V1793)
    (and (kl:_scm.assert-boolean V1792)
    (kl:_scm.assert-boolean V1793))))))
    (kl:shen.set-lambda-form-entry
    (cons
    'adjoin
    (lambda (V1794) (lambda (V1795) (kl:adjoin V1794 V1795)))))
    (kl:shen.set-lambda-form-entry
    (cons
    '<-address
    (lambda (V1796) (lambda (V1797) (vector-ref V1796 V1797)))))
    (kl:shen.set-lambda-form-entry
    (cons
    'address->
    (lambda (V1798)
    (lambda (V1799)
    (lambda (V1800)
    (let ([_scm.tmp V1798])
    (vector-set! _scm.tmp V1799 V1800)
    _scm.tmp))))))
    (kl:shen.set-lambda-form-entry
    (cons 'absvector? (lambda (V1801) (vector? V1801))))
    (kl:shen.set-lambda-form-entry
    (cons
    'absvector
    (lambda (V1802) (make-vector V1802 (kl:fail)))))
    (kl:set 'shen.*history* '())
    (kl:set 'shen.*step* #f)
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'absvector? 'A '\x2D;-> 'boolean)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-absvector?
    (lambda (V4342)
    (lambda (V4343)
    (lambda (V4344)
    (kl:shen.type-signature-of-absvector?
    V4342
    V4343
    V4344))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'adjoin
    'A
    '\x2D;->
    (list (list 'list 'A) '\x2D;-> (list 'list 'A)))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-adjoin
    (lambda (V4352)
    (lambda (V4353)
    (lambda (V4354)
    (kl:shen.type-signature-of-adjoin V4352 V4353 V4354))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'and
    'boolean
    '\x2D;->
    (list 'boolean '\x2D;-> 'boolean))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-and
    (lambda (V4362)
    (lambda (V4363)
    (lambda (V4364)
    (kl:shen.type-signature-of-and V4362 V4363 V4364))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'shen.app
    'A
    '\x2D;->
    (list 'string '\x2D;-> (list 'symbol '\x2D;-> 'string)))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-shen.app
    (lambda (V4372)
    (lambda (V4373)
    (lambda (V4374)
    (kl:shen.type-signature-of-shen.app V4372 V4373 V4374))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'append
    (list 'list 'A)
    '\x2D;->
    (list (list 'list 'A) '\x2D;-> (list 'list 'A)))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-append
    (lambda (V4382)
    (lambda (V4383)
    (lambda (V4384)
    (kl:shen.type-signature-of-append V4382 V4383 V4384))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'arity 'A '\x2D;-> 'number)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-arity
    (lambda (V4392)
    (lambda (V4393)
    (lambda (V4394)
    (kl:shen.type-signature-of-arity V4392 V4393 V4394))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'assoc
    'A
    '\x2D;->
    (list
    (list 'list (list 'list 'A))
    '\x2D;->
    (list 'list 'A)))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-assoc
    (lambda (V4402)
    (lambda (V4403)
    (lambda (V4404)
    (kl:shen.type-signature-of-assoc V4402 V4403 V4404))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'boolean? 'A '\x2D;-> 'boolean)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-boolean?
    (lambda (V4412)
    (lambda (V4413)
    (lambda (V4414)
    (kl:shen.type-signature-of-boolean? V4412 V4413 V4414))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'bound? 'symbol '\x2D;-> 'boolean)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-bound?
    (lambda (V4422)
    (lambda (V4423)
    (lambda (V4424)
    (kl:shen.type-signature-of-bound? V4422 V4423 V4424))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'cd 'string '\x2D;-> 'string)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-cd
    (lambda (V4432)
    (lambda (V4433)
    (lambda (V4434)
    (kl:shen.type-signature-of-cd V4432 V4433 V4434))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'close (list 'stream 'A) '\x2D;-> (list 'list 'B))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-close
    (lambda (V4442)
    (lambda (V4443)
    (lambda (V4444)
    (kl:shen.type-signature-of-close V4442 V4443 V4444))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'cn 'string '\x2D;-> (list 'string '\x2D;-> 'string))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-cn
    (lambda (V4452)
    (lambda (V4453)
    (lambda (V4454)
    (kl:shen.type-signature-of-cn V4452 V4453 V4454))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'compile
    (list 'A 'shen.==> 'B)
    '\x2D;->
    (list 'A '\x2D;-> (list (list 'A '\x2D;-> 'B) '\x2D;-> 'B)))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-compile
    (lambda (V4462)
    (lambda (V4463)
    (lambda (V4464)
    (kl:shen.type-signature-of-compile V4462 V4463 V4464))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'cons? 'A '\x2D;-> 'boolean)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-cons?
    (lambda (V4472)
    (lambda (V4473)
    (lambda (V4474)
    (kl:shen.type-signature-of-cons? V4472 V4473 V4474))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'destroy (list 'A '\x2D;-> 'B) '\x2D;-> 'symbol)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-destroy
    (lambda (V4482)
    (lambda (V4483)
    (lambda (V4484)
    (kl:shen.type-signature-of-destroy V4482 V4483 V4484))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'difference
    (list 'list 'A)
    '\x2D;->
    (list (list 'list 'A) '\x2D;-> (list 'list 'A)))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-difference
    (lambda (V4492)
    (lambda (V4493)
    (lambda (V4494)
    (kl:shen.type-signature-of-difference
    V4492
    V4493
    V4494))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'do 'A '\x2D;-> (list 'B '\x2D;-> 'B))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-do
    (lambda (V4502)
    (lambda (V4503)
    (lambda (V4504)
    (kl:shen.type-signature-of-do V4502 V4503 V4504))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list '<e> (list 'list 'A) 'shen.==> (list 'list 'B))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-<e>
    (lambda (V4512)
    (lambda (V4513)
    (lambda (V4514)
    (kl:shen.type-signature-of-<e> V4512 V4513 V4514))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list '<!> (list 'list 'A) 'shen.==> (list 'list 'A))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-<!>
    (lambda (V4522)
    (lambda (V4523)
    (lambda (V4524)
    (kl:shen.type-signature-of-<!> V4522 V4523 V4524))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'element?
    'A
    '\x2D;->
    (list (list 'list 'A) '\x2D;-> 'boolean))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-element?
    (lambda (V4532)
    (lambda (V4533)
    (lambda (V4534)
    (kl:shen.type-signature-of-element? V4532 V4533 V4534))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'empty? 'A '\x2D;-> 'boolean)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-empty?
    (lambda (V4542)
    (lambda (V4543)
    (lambda (V4544)
    (kl:shen.type-signature-of-empty? V4542 V4543 V4544))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'enable-type-theory 'symbol '\x2D;-> 'boolean)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-enable-type-theory
    (lambda (V4552)
    (lambda (V4553)
    (lambda (V4554)
    (kl:shen.type-signature-of-enable-type-theory
    V4552
    V4553
    V4554))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'external 'symbol '\x2D;-> (list 'list 'symbol))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-external
    (lambda (V4562)
    (lambda (V4563)
    (lambda (V4564)
    (kl:shen.type-signature-of-external V4562 V4563 V4564))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'error-to-string 'exception '\x2D;-> 'string)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-error-to-string
    (lambda (V4572)
    (lambda (V4573)
    (lambda (V4574)
    (kl:shen.type-signature-of-error-to-string
    V4572
    V4573
    V4574))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'explode 'A '\x2D;-> (list 'list 'string))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-explode
    (lambda (V4582)
    (lambda (V4583)
    (lambda (V4584)
    (kl:shen.type-signature-of-explode V4582 V4583 V4584))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'fail '\x2D;-> 'symbol)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-fail
    (lambda (V4592)
    (lambda (V4593)
    (lambda (V4594)
    (kl:shen.type-signature-of-fail V4592 V4593 V4594))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'fail-if
    (list 'symbol '\x2D;-> 'boolean)
    '\x2D;->
    (list 'symbol '\x2D;-> 'symbol))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-fail-if
    (lambda (V4602)
    (lambda (V4603)
    (lambda (V4604)
    (kl:shen.type-signature-of-fail-if V4602 V4603 V4604))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'fix
    (list 'A '\x2D;-> 'A)
    '\x2D;->
    (list 'A '\x2D;-> 'A))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-fix
    (lambda (V4612)
    (lambda (V4613)
    (lambda (V4614)
    (kl:shen.type-signature-of-fix V4612 V4613 V4614))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'freeze 'A '\x2D;-> (list 'lazy 'A))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-freeze
    (lambda (V4622)
    (lambda (V4623)
    (lambda (V4624)
    (kl:shen.type-signature-of-freeze V4622 V4623 V4624))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'fst (list 'A '* 'B) '\x2D;-> 'A)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-fst
    (lambda (V4632)
    (lambda (V4633)
    (lambda (V4634)
    (kl:shen.type-signature-of-fst V4632 V4633 V4634))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'function
    (list 'A '\x2D;-> 'B)
    '\x2D;->
    (list 'A '\x2D;-> 'B))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-function
    (lambda (V4642)
    (lambda (V4643)
    (lambda (V4644)
    (kl:shen.type-signature-of-function V4642 V4643 V4644))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'gensym 'symbol '\x2D;-> 'symbol)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-gensym
    (lambda (V4652)
    (lambda (V4653)
    (lambda (V4654)
    (kl:shen.type-signature-of-gensym V4652 V4653 V4654))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    '<-vector
    (list 'vector 'A)
    '\x2D;->
    (list 'number '\x2D;-> 'A))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-<-vector
    (lambda (V4662)
    (lambda (V4663)
    (lambda (V4664)
    (kl:shen.type-signature-of-<-vector V4662 V4663 V4664))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'vector->
    (list 'vector 'A)
    '\x2D;->
    (list
    'number
    '\x2D;->
    (list 'A '\x2D;-> (list 'vector 'A))))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-vector->
    (lambda (V4672)
    (lambda (V4673)
    (lambda (V4674)
    (kl:shen.type-signature-of-vector-> V4672 V4673 V4674))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'vector 'number '\x2D;-> (list 'vector 'A))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-vector
    (lambda (V4682)
    (lambda (V4683)
    (lambda (V4684)
    (kl:shen.type-signature-of-vector V4682 V4683 V4684))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'get-time 'symbol '\x2D;-> 'number)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-get-time
    (lambda (V4692)
    (lambda (V4693)
    (lambda (V4694)
    (kl:shen.type-signature-of-get-time V4692 V4693 V4694))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'hash 'A '\x2D;-> (list 'number '\x2D;-> 'number))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-hash
    (lambda (V4702)
    (lambda (V4703)
    (lambda (V4704)
    (kl:shen.type-signature-of-hash V4702 V4703 V4704))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'head (list 'list 'A) '\x2D;-> 'A)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-head
    (lambda (V4712)
    (lambda (V4713)
    (lambda (V4714)
    (kl:shen.type-signature-of-head V4712 V4713 V4714))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'hdv (list 'vector 'A) '\x2D;-> 'A)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-hdv
    (lambda (V4722)
    (lambda (V4723)
    (lambda (V4724)
    (kl:shen.type-signature-of-hdv V4722 V4723 V4724))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'hdstr 'string '\x2D;-> 'string)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-hdstr
    (lambda (V4732)
    (lambda (V4733)
    (lambda (V4734)
    (kl:shen.type-signature-of-hdstr V4732 V4733 V4734))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'if
    'boolean
    '\x2D;->
    (list 'A '\x2D;-> (list 'A '\x2D;-> 'A)))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-if
    (lambda (V4742)
    (lambda (V4743)
    (lambda (V4744)
    (kl:shen.type-signature-of-if V4742 V4743 V4744))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'it '\x2D;-> 'string)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-it
    (lambda (V4752)
    (lambda (V4753)
    (lambda (V4754)
    (kl:shen.type-signature-of-it V4752 V4753 V4754))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'implementation '\x2D;-> 'string)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-implementation
    (lambda (V4762)
    (lambda (V4763)
    (lambda (V4764)
    (kl:shen.type-signature-of-implementation
    V4762
    V4763
    V4764))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'include
    (list 'list 'symbol)
    '\x2D;->
    (list 'list 'symbol))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-include
    (lambda (V4772)
    (lambda (V4773)
    (lambda (V4774)
    (kl:shen.type-signature-of-include V4772 V4773 V4774))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'include-all-but
    (list 'list 'symbol)
    '\x2D;->
    (list 'list 'symbol))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-include-all-but
    (lambda (V4782)
    (lambda (V4783)
    (lambda (V4784)
    (kl:shen.type-signature-of-include-all-but
    V4782
    V4783
    V4784))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'inferences '\x2D;-> 'number)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-inferences
    (lambda (V4792)
    (lambda (V4793)
    (lambda (V4794)
    (kl:shen.type-signature-of-inferences
    V4792
    V4793
    V4794))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'shen.insert
    'A
    '\x2D;->
    (list 'string '\x2D;-> 'string))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-shen.insert
    (lambda (V4802)
    (lambda (V4803)
    (lambda (V4804)
    (kl:shen.type-signature-of-shen.insert
    V4802
    V4803
    V4804))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'integer? 'A '\x2D;-> 'boolean)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-integer?
    (lambda (V4812)
    (lambda (V4813)
    (lambda (V4814)
    (kl:shen.type-signature-of-integer? V4812 V4813 V4814))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'internal 'symbol '\x2D;-> (list 'list 'symbol))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-internal
    (lambda (V4822)
    (lambda (V4823)
    (lambda (V4824)
    (kl:shen.type-signature-of-internal V4822 V4823 V4824))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'intersection
    (list 'list 'A)
    '\x2D;->
    (list (list 'list 'A) '\x2D;-> (list 'list 'A)))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-intersection
    (lambda (V4832)
    (lambda (V4833)
    (lambda (V4834)
    (kl:shen.type-signature-of-intersection
    V4832
    V4833
    V4834))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'kill '\x2D;-> 'A)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-kill
    (lambda (V4842)
    (lambda (V4843)
    (lambda (V4844)
    (kl:shen.type-signature-of-kill V4842 V4843 V4844))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'language '\x2D;-> 'string)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-language
    (lambda (V4852)
    (lambda (V4853)
    (lambda (V4854)
    (kl:shen.type-signature-of-language V4852 V4853 V4854))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'length (list 'list 'A) '\x2D;-> 'number)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-length
    (lambda (V4862)
    (lambda (V4863)
    (lambda (V4864)
    (kl:shen.type-signature-of-length V4862 V4863 V4864))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'limit (list 'vector 'A) '\x2D;-> 'number)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-limit
    (lambda (V4872)
    (lambda (V4873)
    (lambda (V4874)
    (kl:shen.type-signature-of-limit V4872 V4873 V4874))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'load 'string '\x2D;-> 'symbol)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-load
    (lambda (V4882)
    (lambda (V4883)
    (lambda (V4884)
    (kl:shen.type-signature-of-load V4882 V4883 V4884))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'map
    (list 'A '\x2D;-> 'B)
    '\x2D;->
    (list (list 'list 'A) '\x2D;-> (list 'list 'B)))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-map
    (lambda (V4892)
    (lambda (V4893)
    (lambda (V4894)
    (kl:shen.type-signature-of-map V4892 V4893 V4894))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'mapcan
    (list 'A '\x2D;-> (list 'list 'B))
    '\x2D;->
    (list (list 'list 'A) '\x2D;-> (list 'list 'B)))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-mapcan
    (lambda (V4902)
    (lambda (V4903)
    (lambda (V4904)
    (kl:shen.type-signature-of-mapcan V4902 V4903 V4904))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'maxinferences 'number '\x2D;-> 'number)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-maxinferences
    (lambda (V4912)
    (lambda (V4913)
    (lambda (V4914)
    (kl:shen.type-signature-of-maxinferences
    V4912
    V4913
    V4914))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'n->string 'number '\x2D;-> 'string)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-n->string
    (lambda (V4922)
    (lambda (V4923)
    (lambda (V4924)
    (kl:shen.type-signature-of-n->string V4922 V4923 V4924))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'nl 'number '\x2D;-> 'number)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-nl
    (lambda (V4932)
    (lambda (V4933)
    (lambda (V4934)
    (kl:shen.type-signature-of-nl V4932 V4933 V4934))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'not 'boolean '\x2D;-> 'boolean)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-not
    (lambda (V4942)
    (lambda (V4943)
    (lambda (V4944)
    (kl:shen.type-signature-of-not V4942 V4943 V4944))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'nth
    'number
    '\x2D;->
    (list (list 'list 'A) '\x2D;-> 'A))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-nth
    (lambda (V4952)
    (lambda (V4953)
    (lambda (V4954)
    (kl:shen.type-signature-of-nth V4952 V4953 V4954))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'number? 'A '\x2D;-> 'boolean)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-number?
    (lambda (V4962)
    (lambda (V4963)
    (lambda (V4964)
    (kl:shen.type-signature-of-number? V4962 V4963 V4964))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'occurrences 'A '\x2D;-> (list 'B '\x2D;-> 'number))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-occurrences
    (lambda (V4972)
    (lambda (V4973)
    (lambda (V4974)
    (kl:shen.type-signature-of-occurrences
    V4972
    V4973
    V4974))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'occurs-check 'symbol '\x2D;-> 'boolean)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-occurs-check
    (lambda (V4982)
    (lambda (V4983)
    (lambda (V4984)
    (kl:shen.type-signature-of-occurs-check
    V4982
    V4983
    V4984))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'optimise 'symbol '\x2D;-> 'boolean)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-optimise
    (lambda (V4992)
    (lambda (V4993)
    (lambda (V4994)
    (kl:shen.type-signature-of-optimise V4992 V4993 V4994))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'or
    'boolean
    '\x2D;->
    (list 'boolean '\x2D;-> 'boolean))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-or
    (lambda (V5002)
    (lambda (V5003)
    (lambda (V5004)
    (kl:shen.type-signature-of-or V5002 V5003 V5004))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'os '\x2D;-> 'string)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-os
    (lambda (V5012)
    (lambda (V5013)
    (lambda (V5014)
    (kl:shen.type-signature-of-os V5012 V5013 V5014))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'package? 'symbol '\x2D;-> 'boolean)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-package?
    (lambda (V5022)
    (lambda (V5023)
    (lambda (V5024)
    (kl:shen.type-signature-of-package? V5022 V5023 V5024))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'port '\x2D;-> 'string)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-port
    (lambda (V5032)
    (lambda (V5033)
    (lambda (V5034)
    (kl:shen.type-signature-of-port V5032 V5033 V5034))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'porters '\x2D;-> 'string)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-porters
    (lambda (V5042)
    (lambda (V5043)
    (lambda (V5044)
    (kl:shen.type-signature-of-porters V5042 V5043 V5044))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'pos 'string '\x2D;-> (list 'number '\x2D;-> 'string))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-pos
    (lambda (V5052)
    (lambda (V5053)
    (lambda (V5054)
    (kl:shen.type-signature-of-pos V5052 V5053 V5054))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'pr
    'string
    '\x2D;->
    (list (list 'stream 'out) '\x2D;-> 'string))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-pr
    (lambda (V5062)
    (lambda (V5063)
    (lambda (V5064)
    (kl:shen.type-signature-of-pr V5062 V5063 V5064))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'print 'A '\x2D;-> 'A)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-print
    (lambda (V5072)
    (lambda (V5073)
    (lambda (V5074)
    (kl:shen.type-signature-of-print V5072 V5073 V5074))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'profile
    (list 'A '\x2D;-> 'B)
    '\x2D;->
    (list 'A '\x2D;-> 'B))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-profile
    (lambda (V5082)
    (lambda (V5083)
    (lambda (V5084)
    (kl:shen.type-signature-of-profile V5082 V5083 V5084))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'preclude
    (list 'list 'symbol)
    '\x2D;->
    (list 'list 'symbol))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-preclude
    (lambda (V5092)
    (lambda (V5093)
    (lambda (V5094)
    (kl:shen.type-signature-of-preclude V5092 V5093 V5094))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'shen.proc-nl 'string '\x2D;-> 'string)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-shen.proc-nl
    (lambda (V5102)
    (lambda (V5103)
    (lambda (V5104)
    (kl:shen.type-signature-of-shen.proc-nl
    V5102
    V5103
    V5104))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'profile-results
    (list 'A '\x2D;-> 'B)
    '\x2D;->
    (list (list 'A '\x2D;-> 'B) '* 'number))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-profile-results
    (lambda (V5112)
    (lambda (V5113)
    (lambda (V5114)
    (kl:shen.type-signature-of-profile-results
    V5112
    V5113
    V5114))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'protect 'symbol '\x2D;-> 'symbol)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-protect
    (lambda (V5122)
    (lambda (V5123)
    (lambda (V5124)
    (kl:shen.type-signature-of-protect V5122 V5123 V5124))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'preclude-all-but
    (list 'list 'symbol)
    '\x2D;->
    (list 'list 'symbol))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-preclude-all-but
    (lambda (V5132)
    (lambda (V5133)
    (lambda (V5134)
    (kl:shen.type-signature-of-preclude-all-but
    V5132
    V5133
    V5134))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'shen.prhush
    'string
    '\x2D;->
    (list (list 'stream 'out) '\x2D;-> 'string))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-shen.prhush
    (lambda (V5142)
    (lambda (V5143)
    (lambda (V5144)
    (kl:shen.type-signature-of-shen.prhush
    V5142
    V5143
    V5144))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'ps 'symbol '\x2D;-> (list 'list 'unit))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-ps
    (lambda (V5152)
    (lambda (V5153)
    (lambda (V5154)
    (kl:shen.type-signature-of-ps V5152 V5153 V5154))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'read (list 'stream 'in) '\x2D;-> 'unit)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-read
    (lambda (V5162)
    (lambda (V5163)
    (lambda (V5164)
    (kl:shen.type-signature-of-read V5162 V5163 V5164))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'read-byte (list 'stream 'in) '\x2D;-> 'number)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-read-byte
    (lambda (V5172)
    (lambda (V5173)
    (lambda (V5174)
    (kl:shen.type-signature-of-read-byte V5172 V5173 V5174))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'read-file-as-bytelist
    'string
    '\x2D;->
    (list 'list 'number))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-read-file-as-bytelist
    (lambda (V5182)
    (lambda (V5183)
    (lambda (V5184)
    (kl:shen.type-signature-of-read-file-as-bytelist
    V5182
    V5183
    V5184))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'read-file-as-string 'string '\x2D;-> 'string)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-read-file-as-string
    (lambda (V5192)
    (lambda (V5193)
    (lambda (V5194)
    (kl:shen.type-signature-of-read-file-as-string
    V5192
    V5193
    V5194))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'read-file 'string '\x2D;-> (list 'list 'unit))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-read-file
    (lambda (V5202)
    (lambda (V5203)
    (lambda (V5204)
    (kl:shen.type-signature-of-read-file V5202 V5203 V5204))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'read-from-string 'string '\x2D;-> (list 'list 'unit))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-read-from-string
    (lambda (V5212)
    (lambda (V5213)
    (lambda (V5214)
    (kl:shen.type-signature-of-read-from-string
    V5212
    V5213
    V5214))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'release '\x2D;-> 'string)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-release
    (lambda (V5222)
    (lambda (V5223)
    (lambda (V5224)
    (kl:shen.type-signature-of-release V5222 V5223 V5224))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'remove
    'A
    '\x2D;->
    (list (list 'list 'A) '\x2D;-> (list 'list 'A)))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-remove
    (lambda (V5232)
    (lambda (V5233)
    (lambda (V5234)
    (kl:shen.type-signature-of-remove V5232 V5233 V5234))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'reverse (list 'list 'A) '\x2D;-> (list 'list 'A))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-reverse
    (lambda (V5242)
    (lambda (V5243)
    (lambda (V5244)
    (kl:shen.type-signature-of-reverse V5242 V5243 V5244))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'simple-error 'string '\x2D;-> 'A)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-simple-error
    (lambda (V5252)
    (lambda (V5253)
    (lambda (V5254)
    (kl:shen.type-signature-of-simple-error
    V5252
    V5253
    V5254))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'snd (list 'A '* 'B) '\x2D;-> 'B)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-snd
    (lambda (V5262)
    (lambda (V5263)
    (lambda (V5264)
    (kl:shen.type-signature-of-snd V5262 V5263 V5264))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'specialise 'symbol '\x2D;-> 'symbol)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-specialise
    (lambda (V5272)
    (lambda (V5273)
    (lambda (V5274)
    (kl:shen.type-signature-of-specialise
    V5272
    V5273
    V5274))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'spy 'symbol '\x2D;-> 'boolean)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-spy
    (lambda (V5282)
    (lambda (V5283)
    (lambda (V5284)
    (kl:shen.type-signature-of-spy V5282 V5283 V5284))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'step 'symbol '\x2D;-> 'boolean)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-step
    (lambda (V5292)
    (lambda (V5293)
    (lambda (V5294)
    (kl:shen.type-signature-of-step V5292 V5293 V5294))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'stinput '\x2D;-> (list 'stream 'in))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-stinput
    (lambda (V5302)
    (lambda (V5303)
    (lambda (V5304)
    (kl:shen.type-signature-of-stinput V5302 V5303 V5304))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'sterror '\x2D;-> (list 'stream 'out))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-sterror
    (lambda (V5312)
    (lambda (V5313)
    (lambda (V5314)
    (kl:shen.type-signature-of-sterror V5312 V5313 V5314))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'stoutput '\x2D;-> (list 'stream 'out))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-stoutput
    (lambda (V5322)
    (lambda (V5323)
    (lambda (V5324)
    (kl:shen.type-signature-of-stoutput V5322 V5323 V5324))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'string? 'A '\x2D;-> 'boolean)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-string?
    (lambda (V5332)
    (lambda (V5333)
    (lambda (V5334)
    (kl:shen.type-signature-of-string? V5332 V5333 V5334))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'str 'A '\x2D;-> 'string)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-str
    (lambda (V5342)
    (lambda (V5343)
    (lambda (V5344)
    (kl:shen.type-signature-of-str V5342 V5343 V5344))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'string->n 'string '\x2D;-> 'number)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-string->n
    (lambda (V5352)
    (lambda (V5353)
    (lambda (V5354)
    (kl:shen.type-signature-of-string->n V5352 V5353 V5354))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'string->symbol 'string '\x2D;-> 'symbol)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-string->symbol
    (lambda (V5362)
    (lambda (V5363)
    (lambda (V5364)
    (kl:shen.type-signature-of-string->symbol
    V5362
    V5363
    V5364))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'sum (list 'list 'number) '\x2D;-> 'number)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-sum
    (lambda (V5372)
    (lambda (V5373)
    (lambda (V5374)
    (kl:shen.type-signature-of-sum V5372 V5373 V5374))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'symbol? 'A '\x2D;-> 'boolean)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-symbol?
    (lambda (V5382)
    (lambda (V5383)
    (lambda (V5384)
    (kl:shen.type-signature-of-symbol? V5382 V5383 V5384))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'systemf 'symbol '\x2D;-> 'symbol)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-systemf
    (lambda (V5392)
    (lambda (V5393)
    (lambda (V5394)
    (kl:shen.type-signature-of-systemf V5392 V5393 V5394))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'tail (list 'list 'A) '\x2D;-> (list 'list 'A))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-tail
    (lambda (V5402)
    (lambda (V5403)
    (lambda (V5404)
    (kl:shen.type-signature-of-tail V5402 V5403 V5404))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'tlstr 'string '\x2D;-> 'string)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-tlstr
    (lambda (V5412)
    (lambda (V5413)
    (lambda (V5414)
    (kl:shen.type-signature-of-tlstr V5412 V5413 V5414))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'tlv (list 'vector 'A) '\x2D;-> (list 'vector 'A))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-tlv
    (lambda (V5422)
    (lambda (V5423)
    (lambda (V5424)
    (kl:shen.type-signature-of-tlv V5422 V5423 V5424))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'tc 'symbol '\x2D;-> 'boolean)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-tc
    (lambda (V5432)
    (lambda (V5433)
    (lambda (V5434)
    (kl:shen.type-signature-of-tc V5432 V5433 V5434))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'tc? '\x2D;-> 'boolean)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-tc?
    (lambda (V5442)
    (lambda (V5443)
    (lambda (V5444)
    (kl:shen.type-signature-of-tc? V5442 V5443 V5444))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'thaw (list 'lazy 'A) '\x2D;-> 'A)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-thaw
    (lambda (V5452)
    (lambda (V5453)
    (lambda (V5454)
    (kl:shen.type-signature-of-thaw V5452 V5453 V5454))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'track 'symbol '\x2D;-> 'symbol)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-track
    (lambda (V5462)
    (lambda (V5463)
    (lambda (V5464)
    (kl:shen.type-signature-of-track V5462 V5463 V5464))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'trap-error
    'A
    '\x2D;->
    (list (list 'exception '\x2D;-> 'A) '\x2D;-> 'A))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-trap-error
    (lambda (V5472)
    (lambda (V5473)
    (lambda (V5474)
    (kl:shen.type-signature-of-trap-error
    V5472
    V5473
    V5474))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'tuple? 'A '\x2D;-> 'boolean)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-tuple?
    (lambda (V5482)
    (lambda (V5483)
    (lambda (V5484)
    (kl:shen.type-signature-of-tuple? V5482 V5483 V5484))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'undefmacro 'symbol '\x2D;-> 'symbol)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-undefmacro
    (lambda (V5492)
    (lambda (V5493)
    (lambda (V5494)
    (kl:shen.type-signature-of-undefmacro
    V5492
    V5493
    V5494))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'union
    (list 'list 'A)
    '\x2D;->
    (list (list 'list 'A) '\x2D;-> (list 'list 'A)))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-union
    (lambda (V5502)
    (lambda (V5503)
    (lambda (V5504)
    (kl:shen.type-signature-of-union V5502 V5503 V5504))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'unprofile
    (list 'A '\x2D;-> 'B)
    '\x2D;->
    (list 'A '\x2D;-> 'B))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-unprofile
    (lambda (V5512)
    (lambda (V5513)
    (lambda (V5514)
    (kl:shen.type-signature-of-unprofile V5512 V5513 V5514))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'untrack 'symbol '\x2D;-> 'symbol)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-untrack
    (lambda (V5522)
    (lambda (V5523)
    (lambda (V5524)
    (kl:shen.type-signature-of-untrack V5522 V5523 V5524))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'unspecialise 'symbol '\x2D;-> 'symbol)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-unspecialise
    (lambda (V5532)
    (lambda (V5533)
    (lambda (V5534)
    (kl:shen.type-signature-of-unspecialise
    V5532
    V5533
    V5534))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'variable? 'A '\x2D;-> 'boolean)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-variable?
    (lambda (V5542)
    (lambda (V5543)
    (lambda (V5544)
    (kl:shen.type-signature-of-variable? V5542 V5543 V5544))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'vector? 'A '\x2D;-> 'boolean)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-vector?
    (lambda (V5552)
    (lambda (V5553)
    (lambda (V5554)
    (kl:shen.type-signature-of-vector? V5552 V5553 V5554))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'version '\x2D;-> 'string)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-version
    (lambda (V5562)
    (lambda (V5563)
    (lambda (V5564)
    (kl:shen.type-signature-of-version V5562 V5563 V5564))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'write-to-file 'string '\x2D;-> (list 'A '\x2D;-> 'A))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-write-to-file
    (lambda (V5572)
    (lambda (V5573)
    (lambda (V5574)
    (kl:shen.type-signature-of-write-to-file
    V5572
    V5573
    V5574))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list
    'write-byte
    'number
    '\x2D;->
    (list (list 'stream 'out) '\x2D;-> 'number))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-write-byte
    (lambda (V5582)
    (lambda (V5583)
    (lambda (V5584)
    (kl:shen.type-signature-of-write-byte
    V5582
    V5583
    V5584))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list 'y-or-n? 'string '\x2D;-> 'boolean)
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-y-or-n?
    (lambda (V5592)
    (lambda (V5593)
    (lambda (V5594)
    (kl:shen.type-signature-of-y-or-n? V5592 V5593 V5594))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list '> 'number '\x2D;-> (list 'number '\x2D;-> 'boolean))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of->
    (lambda (V5602)
    (lambda (V5603)
    (lambda (V5604)
    (kl:shen.type-signature-of-> V5602 V5603 V5604))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list '< 'number '\x2D;-> (list 'number '\x2D;-> 'boolean))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-<
    (lambda (V5612)
    (lambda (V5613)
    (lambda (V5614)
    (kl:shen.type-signature-of-< V5612 V5613 V5614))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list '>= 'number '\x2D;-> (list 'number '\x2D;-> 'boolean))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of->=
    (lambda (V5622)
    (lambda (V5623)
    (lambda (V5624)
    (kl:shen.type-signature-of->= V5622 V5623 V5624))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list '<= 'number '\x2D;-> (list 'number '\x2D;-> 'boolean))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-<=
    (lambda (V5632)
    (lambda (V5633)
    (lambda (V5634)
    (kl:shen.type-signature-of-<= V5632 V5633 V5634))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list '= 'A '\x2D;-> (list 'A '\x2D;-> 'boolean))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-=
    (lambda (V5642)
    (lambda (V5643)
    (lambda (V5644)
    (kl:shen.type-signature-of-= V5642 V5643 V5644))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list '+ 'number '\x2D;-> (list 'number '\x2D;-> 'number))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-+
    (lambda (V5652)
    (lambda (V5653)
    (lambda (V5654)
    (kl:shen.type-signature-of-+ V5652 V5653 V5654))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list '/ 'number '\x2D;-> (list 'number '\x2D;-> 'number))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-/
    (lambda (V5662)
    (lambda (V5663)
    (lambda (V5664)
    (kl:shen.type-signature-of-/ V5662 V5663 V5664))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list '- 'number '\x2D;-> (list 'number '\x2D;-> 'number))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of--
    (lambda (V5672)
    (lambda (V5673)
    (lambda (V5674)
    (kl:shen.type-signature-of-- V5672 V5673 V5674))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list '* 'number '\x2D;-> (list 'number '\x2D;-> 'number))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-*
    (lambda (V5682)
    (lambda (V5683)
    (lambda (V5684)
    (kl:shen.type-signature-of-* V5682 V5683 V5684))))))
    (kl:set
    'shen.*signedfuncs*
    (cons
    (list '== 'A '\x2D;-> (list 'B '\x2D;-> 'boolean))
    (kl:value 'shen.*signedfuncs*)))
    (kl:shen.set-lambda-form-entry
    (cons
    'shen.type-signature-of-==
    (lambda (V5692)
    (lambda (V5693)
    (lambda (V5694)
    (kl:shen.type-signature-of-== V5692 V5693 V5694))))))
    (kl:set 'shen.*empty-absvector* (make-vector 0 (kl:fail)))))