22624
((3) 0 () 11 ((q lib "typed-racket/base-env/prims.rkt") (q lib "typed-racket/typed-racket.rkt") (q lib "typed-racket/base-env/base-types.rkt") (q lib "typed-racket/base-env/base-types-extra.rkt") (q lib "typed/racket/class.rkt") (q lib "typed/racket/unit.rkt") (q lib "typed/racket/unsafe.rkt") (q lib "typed/untyped-utils.rkt") (q lib "typed-racket/base-env/extra-procs.rkt") (q lib "typed/racket/base.rkt") (q lib "typed/scheme/base.rkt")) () (h ! (equal) ((c form c (c (? . 3) q mu)) q (25587 . 2)) ((c form c (c (? . 0) q letrec-values:)) q (24266 . 2)) ((c form c (c (? . 0) q letrec:)) q (24117 . 2)) ((c form c (c (? . 1) q SSL-Verify-Source)) q (14695 . 2)) ((c form c (c (? . 2) q Negative-Integer)) q (411 . 2)) ((c form c (c (? . 0) q with-handlers)) q (14219 . 2)) ((c form c (c (? . 1) q SSL-Protocol)) q (14594 . 2)) ((c form c (c (? . 4) q init-field)) q (17156 . 2)) ((c form c (c (? . 2) q Inexact-Real-Nan)) q (1310 . 2)) ((c form c (c (? . 2) q ExtFlonum)) q (1762 . 2)) ((c form c (c (? . 3) q Rec)) q (6233 . 2)) ((c form c (c (? . 0) q inst)) q (13266 . 3)) ((c form c (c (? . 2) q EOF)) q (2350 . 2)) ((c form c (c (? . 2) q Single-Flonum-Positive-Zero)) q (1009 . 2)) ((c form c (c (? . 2) q Single-Flonum)) q (114 . 2)) ((c form c (c (? . 1) q PortT/Bytes)) q (14577 . 2)) ((c form c (c (? . 2) q True)) q (2009 . 2)) ((c form c (c (? . 2) q Negative-Fixnum)) q (1713 . 2)) ((c form c (c (? . 0) q case-lambda:)) q (23840 . 2)) ((c form c (c (? . 4) q init-rest)) q (17264 . 2)) ((c form c (c (? . 1) q GIF-Colormap)) q (14418 . 2)) ((c form c (c (? . 0) q λ:)) q (23382 . 2)) ((c form c (c (? . 2) q Single-Flonum-Complex)) q (230 . 2)) ((c form c (c (? . 2) q Positive-Single-Flonum)) q (848 . 2)) ((c form c (c (? . 2) q Real-Zero)) q (1554 . 2)) ((c form c (c (? . 2) q Semaphore)) q (2983 . 2)) ((c form c (c (? . 2) q Pseudo-Random-Generator)) q (3039 . 2)) ((c form c (c (? . 5) q compound-unit)) q (19337 . 9)) ((c form c (c (? . 2) q Real)) q (177 . 2)) ((c form c (c (? . 3) q Intersection)) q (6364 . 2)) ((c form c (c (? . 0) q do)) q (10689 . 7)) ((c form c (c (? . 2) q Positive-Fixnum)) q (1664 . 2)) ((c form c (c (? . 0) q let/cc)) q (7049 . 2)) ((c form c (c (? . 2) q Namespace-Anchor)) q (2288 . 2)) ((c form c (c (? . 0) q lambda)) q (7115 . 26)) ((c form c (c (? . 3) q Struct-Type)) q (6272 . 2)) ((c form c (c (? . 0) q plambda:)) q (23412 . 3)) ((c form c (c (? . 0) q for/sum:)) q (25355 . 2)) ((c form c (c (? . 5) q define-compound-unit/infer)) q (20344 . 5)) ((c form c (c (? . 2) q Syntax)) q (3918 . 2)) ((c form c (c (? . 3) q Parameterof)) q (3611 . 3)) ((c form c (c (? . 2) q Positive-Index)) q (1628 . 2)) ((c form c (c (? . 0) q for/flvector:)) q (25134 . 2)) ((c form c (c (? . 2) q Byte-PRegexp)) q (2238 . 2)) ((c form c (c (? . 2) q Sexpof)) q (3948 . 2)) ((c form c (c (? . 0) q define-typed-struct)) q (25426 . 2)) ((c form c (c (? . 2) q Weak-BoxTop)) q (3818 . 2)) ((c form c (c (? . 2) q Positive-Integer)) q (282 . 2)) ((c form c (c (? . 0) q cast)) q (13246 . 2)) ((c form c (c (? . 0) q for*/extflvector:)) q (24839 . 2)) ((c form c (c (? . 2) q Promise)) q (3655 . 2)) ((c form c (c (? . 2) q Will-Executor)) q (3018 . 2)) ((c form c (c (? . 2) q Input-Port)) q (2101 . 2)) ((c form c (c (? . 0) q for/set:)) q (25304 . 2)) ((c form c (c (? . 3) q Bot)) q (5997 . 2)) ((c form c (c (? . 2) q Nonpositive-Exact-Rational)) q (1430 . 2)) ((c form c (c (? . 2) q Futureof)) q (3675 . 2)) ((c form c (c (? . 0) q for/and)) q (10040 . 2)) ((c form c (c (? . 2) q Impersonator-Property)) q (2658 . 2)) ((c form c (c (? . 0) q for*:)) q (25087 . 2)) ((c form c (c (? . 3) q Union)) q (6351 . 2)) ((c form c (c (? . 7) q define-typed/untyped-identifier)) q (22531 . 2)) ((c form c (c (? . 1) q for*/extflvector)) q (9361 . 2)) ((c form c (c (? . 2) q Ephemeronof)) q (3837 . 2)) ((c form c (c (? . 0) q let*:)) q (24163 . 2)) ((c form c (c (? . 2) q Nonpositive-Fixnum)) q (1736 . 2)) ((c form c (c (? . 0) q row-inst)) q (13324 . 2)) ((c form c (c (? . 0) q for*/last)) q (9634 . 2)) ((c form c (c (? . 3) q Refinement)) q (26160 . 2)) ((c form c (c (? . 1) q #%top-interaction)) q (14367 . 2)) ((c form c (c (? . 0) q for*/or:)) q (25013 . 2)) ((c def c (c (? . 8) q defined?)) q (22127 . 3)) ((c form c (c (? . 0) q ann)) q (13208 . 2)) ((c form c (c (? . 2) q MPairof)) q (3272 . 2)) ((c form c (c (? . 0) q define-struct/exec)) q (12660 . 8)) ((c form c (c (? . 2) q Thread)) q (2897 . 2)) ((c form c (c (? . 0) q struct)) q (11801 . 15)) ((c form c (c (? . 4) q define/override)) q (16804 . 3)) ((c form c (c (? . 2) q Parameterization)) q (2728 . 2)) ((c form c (c (? . 0) q for*/hash)) q (9020 . 2)) ((c form c (c (? . 2) q Nonnegative-Flonum)) q (544 . 2)) ((c form c (c (? . 2) q Undefined)) q (2390 . 2)) ((c form c (c (? . 0) q plet:)) q (24063 . 2)) ((c form c (c (? . 4) q define/private)) q (17046 . 3)) ((c form c (c (? . 2) q Single-Flonum-Negative-Zero)) q (974 . 2)) ((c form c (c (? . 0) q define-struct:)) q (24720 . 2)) ((c form c (c (? . 1) q Cookie)) q (14448 . 2)) ((c form c (c (? . 2) q Procedure)) q (6008 . 2)) ((c form c (c (? . 0) q for*/set:)) q (24996 . 2)) ((c form c (c (? . 6) q unsafe-require/typed)) q (23131 . 2)) ((c form c (c (? . 2) q Nonnegative-Exact-Rational)) q (1365 . 2)) ((c form c (c (? . 4) q define/augment)) q (16966 . 3)) ((c form c (c (? . 2) q Custodian-Boxof)) q (3719 . 2)) ((c form c (c (? . 0) q for*/sum:)) q (25050 . 2)) ((c form c (c (? . 5) q define-unit)) q (19576 . 7)) ((c form c (c (? . 2) q Continuation-Mark-Keyof)) q (4041 . 2)) ((c form c (c (? . 2) q Log-Receiver)) q (2860 . 2)) ((c form c (c (? . 0) q for/first:)) q (25116 . 2)) ((c form c (c (? . 0) q popt-lambda:)) q (23741 . 3)) ((c form c (c (? . 0) q for*/hasheqv:)) q (24920 . 2)) ((c form c (c (? . 2) q Security-Guard)) q (2786 . 2)) ((c form c (c (? . 2) q Subprocess)) q (2931 . 2)) ((c form c (c (? . 3) q ∀)) q (6410 . 2)) ((c form c (c (? . 3) q Struct)) q (6252 . 2)) ((c form c (c (? . 0) q for/hash)) q (8424 . 2)) ((c form c (c (? . 0) q for*/flvector:)) q (24817 . 2)) ((c form c (c (? . 2) q Namespace)) q (2271 . 2)) ((c form c (c (? . 3) q Vector)) q (3364 . 2)) ((c form c (c (? . 4) q augment)) q (17418 . 2)) ((c form c (c (? . 2) q Flonum-Zero)) q (794 . 2)) ((c form c (c (? . 2) q MPairTop)) q (3295 . 2)) ((c form c (c (? . 0) q define-struct)) q (12301 . 12)) ((c form c (c (? . 0) q for/hasheq:)) q (25213 . 2)) ((c form c (c (? . 0) q define-type-alias)) q (25401 . 2)) ((c form c (c (? . 2) q Positive-Inexact-Real)) q (1095 . 2)) ((c form c (c (? . 0) q for)) q (7991 . 14)) ((c form c (c (? . 2) q FxVector)) q (3423 . 2)) ((c form c (c (? . 2) q Nonnegative-Single-Flonum)) q (878 . 2)) ((c form c (c (? . 2) q Positive-Flonum)) q (496 . 2)) ((c form c (c (? . 2) q Flonum)) q (100 . 2)) ((c form c (c (? . 2) q Identifier)) q (3900 . 2)) ((c form c (c (? . 2) q Float-Zero)) q (776 . 2)) ((c form c (c (? . 5) q compound-unit/infer)) q (19719 . 15)) ((c form c (c (? . 2) q FlVector)) q (3388 . 2)) ((c form c (c (? . 3) q Instance)) q (18301 . 2)) ((c form c (c (? . 2) q Nonpositive-ExtFlonum)) q (1860 . 2)) ((c form c (c (? . 2) q Port)) q (2138 . 2)) ((c form c (c (? . 0) q define)) q (10871 . 30)) ((c form c (c (? . 2) q ExtFlonum-Nan)) q (1973 . 2)) ((c form c (c (? . 0) q for*/first)) q (9567 . 2)) ((c form c (c (? . 1) q for/flvector)) q (9899 . 2)) ((c form c (c (? . 0) q declare-refinement)) q (26128 . 2)) ((c form c (c (? . 0) q require-typed-struct/provide)) q (25508 . 2)) ((c form c (c (? . 0) q for*/hash:)) q (24882 . 2)) ((c form c (c (? . 2) q Flonum-Positive-Zero)) q (748 . 2)) ((c form c (c (? . 2) q Thread-CellTop)) q (3773 . 2)) ((c form c (c (? . 2) q Boolean)) q (1994 . 2)) ((c form c (c (? . 2) q Single-Flonum-Zero)) q (1044 . 2)) ((c form c (c (? . 0) q for/vector:)) q (25371 . 2)) ((c form c (c (? . 2) q HashTable)) q (3456 . 2)) ((c form c (c (? . 3) q Opaque)) q (6440 . 2)) ((c form c (c (? . 4) q class)) q (14764 . 45)) ((c form c (c (? . 4) q public)) q (17292 . 2)) ((c form c (c (? . 2) q Regexp)) q (2190 . 2)) ((c form c (c (? . 3) q Object)) q (18176 . 5)) ((c form c (c (? . 2) q PRegexp)) q (2204 . 2)) ((c form c (c (? . 2) q Syntax-E)) q (3932 . 2)) ((c form c (c (? . 3) q case->)) q (6065 . 2)) ((c form c (c (? . 2) q Natural)) q (396 . 2)) ((c form c (c (? . 0) q let*-values)) q (6991 . 2)) ((c form c (c (? . 9) q values)) q (25639 . 2)) ((c form c (c (? . 4) q inherit-field)) q (17224 . 2)) ((c form c (c (? . 3) q ∩)) q (6044 . 2)) ((c form c (c (? . 4) q private)) q (17460 . 2)) ((c form c (c (? . 0) q for/and:)) q (25100 . 2)) ((c form c (c (? . 3) q List)) q (3159 . 2)) ((c form c (c (? . 0) q for/lists:)) q (25286 . 2)) ((c form c (c (? . 2) q Place-Channel)) q (2962 . 2)) ((c form c (c (? . 5) q invoke-unit)) q (19017 . 3)) ((c form c (c (? . 5) q define-values/invoke-unit)) q (19099 . 8)) ((c form c (c (? . 6) q unsafe-provide)) q (23180 . 2)) ((c form c (c (? . 0) q for*/vector:)) q (25067 . 2)) ((c form c (c (? . 0) q for*/sum)) q (9700 . 2)) ((c form c (c (? . 2) q Syntaxof)) q (3879 . 2)) ((c form c (c (? . 2) q Nonpositive-Float)) q (615 . 2)) ((c form c (c (? . 2) q VectorTop)) q (3439 . 2)) ((c form c (c (? . 3) q pred)) q (25560 . 2)) ((c form c (c (? . 4) q inherit)) q (17491 . 2)) ((c form c (c (? . 0) q let:)) q (23971 . 3)) ((c form c (c (? . 3) q Class)) q (17533 . 17)) ((c form c (c (? . 0) q :type)) q (22658 . 5)) ((c form c (c (? . 2) q Float-Nan)) q (813 . 2)) ((c form c (c (? . 2) q Nonpositive-Integer)) q (435 . 2)) ((c form c (c (? . 2) q Inexact-Real)) q (135 . 2)) ((c form c (c (? . 2) q Continuation-Mark-Set)) q (2361 . 2)) ((c form c (c (? . 2) q Nonnegative-Integer)) q (336 . 2)) ((c form c (c (? . 0) q let/ec:)) q (24422 . 2)) ((c form c (c (? . 2) q Float-Positive-Zero)) q (721 . 2)) ((c form c (c (? . 0) q let*)) q (6836 . 2)) ((c form c (c (? . 2) q ExtFlonum-Negative-Zero)) q (1889 . 2)) ((c form c (c (? . 2) q ExtFlonum-Positive-Zero)) q (1920 . 2)) ((c form c (c (? . 2) q Symbol)) q (2063 . 2)) ((c form c (c (? . 3) q U)) q (6025 . 2)) ((c form c (c (? . 2) q Path-For-Some-System)) q (2162 . 2)) ((c form c (c (? . 2) q Option)) q (6421 . 2)) ((c form c (c (? . 2) q Setof)) q (3501 . 2)) ((c form c (c (? . 2) q Sexp)) q (3967 . 2)) ((c form c (c (? . 0) q :print-type)) q (22742 . 2)) ((c form c (c (? . 2) q Prompt-TagTop)) q (4020 . 2)) ((c form c (c (? . 2) q Float)) q (87 . 2)) ((c form c (c (? . 0) q for/list)) q (8359 . 2)) ((c form c (c (? . 0) q for/last)) q (10170 . 2)) ((c form c (c (? . 3) q Unit)) q (20904 . 13)) ((c form c (c (? . 0) q for/first)) q (10104 . 2)) ((c form c (c (? . 1) q for/extflvector)) q (9968 . 2)) ((c form c (c (? . 2) q Inspector)) q (2769 . 2)) ((c form c (c (? . 2) q Read-Table)) q (2687 . 2)) ((c form c (c (? . 0) q letrec-values)) q (6931 . 2)) ((c form c (c (? . 4) q init)) q (17126 . 2)) ((c form c (c (? . 0) q provide:)) q (13159 . 2)) ((c form c (c (? . 4) q define/public)) q (16726 . 3)) ((c form c (c (? . 0) q for*/hasheq:)) q (24900 . 2)) ((c form c (c (? . 2) q Negative-Inexact-Real)) q (1156 . 2)) ((c form c (c (? . 0) q for/hasheqv:)) q (25232 . 2)) ((c form c (c (? . 0) q lambda:)) q (23223 . 6)) ((c form c (c (? . 2) q UnitTop)) q (21289 . 2)) ((c form c (c (? . 2) q Struct-Type-Property)) q (2630 . 2)) ((c form c (c (? . 0) q define-predicate)) q (13094 . 2)) ((c form c (c (? . 2) q Inexact-Real-Positive-Zero)) q (1251 . 2)) ((c form c (c (? . 2) q UDP-Socket)) q (2808 . 2)) ((c form c (c (? . 1) q URL-Exception)) q (14547 . 2)) ((c form c (c (? . 2) q Pairof)) q (3118 . 2)) ((c form c (c (? . 5) q define-unit-from-context)) q (20856 . 2)) ((c form c (c (? . 1) q SSL-Client-Context)) q (14636 . 2)) ((c form c (c (? . 2) q Environment-Variables)) q (3070 . 2)) ((c form c (c (? . 0) q define-new-subtype)) q (26230 . 2)) ((c form c (c (? . 2) q MListof)) q (3252 . 2)) ((c form c (c (? . 2) q Variable-Reference)) q (2312 . 2)) ((c form c (c (? . 2) q BoxTop)) q (3329 . 2)) ((c form c (c (? . 2) q ChannelTop)) q (3541 . 2)) ((c form c (c (? . 2) q Exact-Rational)) q (155 . 2)) ((c form c (c (? . 4) q define/pubment)) q (16886 . 3)) ((c form c (c (? . 1) q Cursor)) q (14732 . 2)) ((c form c (c (? . 0) q for*)) q (10429 . 3)) ((c def c (c (? . 0) q default-continuation-prompt-tag)) q (14240 . 3)) ((c form c (c (? . 0) q for*/hasheqv)) q (9154 . 2)) ((c form c (c (? . 2) q Bytes)) q (2258 . 2)) ((c form c (c (? . 2) q Module-Path-Index)) q (2426 . 2)) ((c form c (c (? . 0) q λ)) q (7906 . 2)) ((c form c (c (? . 2) q Module-Path)) q (2407 . 2)) ((c form c (c (? . 2) q Inexact-Complex)) q (259 . 2)) ((c form c (c (? . 2) q Logger)) q (2846 . 2)) ((c form c (c (? . 0) q require/typed)) q (13411 . 20)) ((c form c (c (? . 1) q HTTP-Connection)) q (14480 . 2)) ((c form c (c (? . 2) q Single-Flonum-Nan)) q (1070 . 2)) ((c form c (c (? . 2) q Any)) q (0 . 2)) ((c form c (c (? . 0) q require/typed/provide)) q (14169 . 2)) ((c form c (c (? . 2) q Nonpositive-Real)) q (1530 . 2)) ((c form c (c (? . 0) q for/fold)) q (10326 . 4)) ((c form c (c (? . 0) q for*/and)) q (9434 . 2)) ((c form c (c (? . 2) q Special-Comment)) q (2607 . 2)) ((c form c (c (? . 3) q List*)) q (3222 . 2)) ((c form c (c (? . 0) q pcase-lambda:)) q (23860 . 3)) ((c form c (c (? . 2) q Datum)) q (3979 . 2)) ((c form c (c (? . 0) q for*/and:)) q (24781 . 2)) ((c form c (c (? . 2) q Nonpositive-Single-Flonum)) q (941 . 2)) ((c form c (c (? . 2) q Nonnegative-Real)) q (1485 . 2)) ((c form c (c (? . 2) q Complex)) q (57 . 2)) ((c form c (c (? . 0) q let/cc:)) q (24388 . 2)) ((c form c (c (? . 2) q Negative-Real)) q (1509 . 2)) ((c form c (c (? . 0) q let/ec)) q (7082 . 2)) ((c form c (c (? . 5) q define-signature)) q (18373 . 8)) ((c form c (c (? . 2) q Positive-Exact-Rational)) q (1334 . 2)) ((c form c (c (? . 4) q field)) q (17192 . 2)) ((c form c (c (? . 3) q ->)) q (4109 . 49)) ((c form c (c (? . 3) q AnyValues)) q (11 . 2)) ((c form c (c (? . 2) q TCP-Listener)) q (2826 . 2)) ((c form c (c (? . 2) q Listof)) q (3140 . 2)) ((c form c (c (? . 0) q for/hasheq)) q (8489 . 2)) ((c form c (c (? . 2) q False)) q (2021 . 2)) ((c form c (c (? . 0) q :query-type/args)) q (22766 . 2)) ((c form c (c (? . 0) q do:)) q (25390 . 2)) ((c form c (c (? . 0) q let-values:)) q (24207 . 2)) ((c form c (c (? . 0) q case-lambda)) q (7935 . 2)) ((c form c (c (? . 3) q Prefab)) q (6319 . 2)) ((c form c (c (? . 2) q Output-Port)) q (2119 . 2)) ((c def c (c (? . 7) q syntax-local-typed-context?)) q (22604 . 2)) ((c form c (c (? . 2) q Byte-Regexp)) q (2219 . 2)) ((c form c (c (? . 3) q All)) q (6118 . 3)) ((c form c (c (? . 2) q Negative-ExtFlonum)) q (1834 . 2)) ((c form c (c (? . 2) q Weak-Boxof)) q (3795 . 2)) ((c form c (c (? . 2) q Positive-ExtFlonum)) q (1779 . 2)) ((c form c (c (? . 2) q Nonnegative-ExtFlonum)) q (1805 . 2)) ((c form c (c (? . 2) q Positive-Float)) q (474 . 2)) ((c form c (c (? . 0) q make-predicate)) q (13067 . 2)) ((c form c (c (? . 2) q Flonum-Negative-Zero)) q (693 . 2)) ((c form c (c (? . 5) q define-compound-unit)) q (20221 . 5)) ((c form c (c (? . 3) q Sequenceof)) q (3696 . 2)) ((c form c (c (? . 0) q for*/fold:)) q (24864 . 2)) ((c form c (c (? . 2) q One)) q (1571 . 2)) ((c form c (c (? . 3) q Row)) q (18336 . 2)) ((c form c (c (? . 2) q Exact-Number)) q (189 . 2)) ((c form c (c (? . 2) q Internal-Definition-Context)) q (2540 . 2)) ((c form c (c (? . 0) q for*/hasheq)) q (9086 . 2)) ((c form c (c (? . 0) q for/or)) q (8691 . 2)) ((c form c (c (? . 0) q define-typed-struct/exec)) q (26184 . 2)) ((c form c (c (? . 0) q for*/vector)) q (9223 . 2)) ((c form c (c (? . 0) q for/hasheqv)) q (8556 . 2)) ((c form c (c (? . 2) q Boxof)) q (3311 . 2)) ((c form c (c (? . 2) q String)) q (2034 . 2)) ((c form c (c (? . 0) q struct:)) q (24705 . 2)) ((c form c (c (? . 2) q Byte)) q (1582 . 2)) ((c form c (c (? . 0) q for*/first:)) q (24798 . 2)) ((c form c (c (? . 0) q for/list:)) q (25269 . 2)) ((c form c (c (? . 0) q with-asserts)) q (22023 . 5)) ((c form c (c (? . 2) q Prompt-Tagof)) q (3992 . 2)) ((c form c (c (? . 2) q Channelof)) q (3519 . 2)) ((c form c (c (? . 0) q for*/product:)) q (25029 . 2)) ((c form c (c (? . 1) q JSExpr)) q (14436 . 2)) ((c form c (c (? . 5) q invoke-unit/infer)) q (20489 . 5)) ((c form c (c (? . 2) q ExtFlVector)) q (3404 . 2)) ((c form c (c (? . 0) q for*/last:)) q (24941 . 2)) ((c form c (c (? . 2) q Continuation-Mark-KeyTop)) q (4077 . 2)) ((c form c (c (? . 2) q Number)) q (43 . 2)) ((c form c (c (? . 2) q Struct-TypeTop)) q (6297 . 2)) ((c form c (c (? . 0) q for/lists)) q (10235 . 4)) ((c form c (c (? . 0) q for/extflvector:)) q (25155 . 2)) ((c form c (c (? . 0) q pdefine:)) q (25544 . 2)) ((c form c (c (? . 5) q define-values/invoke-unit/infer)) q (20593 . 8)) ((c form c (c (? . 10) q require/typed)) q (25653 . 12)) ((c form c (c (? . 2) q Index)) q (1615 . 2)) ((c form c (c (? . 1) q Char-Set)) q (14718 . 2)) ((c form c (c (? . 5) q unit)) q (18555 . 16)) ((c form c (c (? . 0) q define:)) q (24456 . 7)) ((c form c (c (? . 1) q Time)) q (14744 . 2)) ((c form c (c (? . 3) q Values)) q (6171 . 2)) ((c form c (c (? . 5) q unit-from-context)) q (20819 . 2)) ((c form c (c (? . 7) q require/untyped-contract)) q (22398 . 5)) ((c form c (c (? . 2) q Async-ChannelTop)) q (3587 . 2)) ((c form c (c (? . 1) q PortT)) q (14566 . 2)) ((c form c (c (? . 2) q Zero)) q (462 . 2)) ((c form c (c (? . 0) q for/fold:)) q (25179 . 2)) ((c form c (c (? . 2) q Custodian)) q (2752 . 2)) ((c form c (c (? . 2) q Negative-Single-Flonum)) q (911 . 2)) ((c form c (c (? . 2) q Evtof)) q (3861 . 2)) ((c form c (c (? . 2) q Compiled-Module-Expression)) q (2479 . 2)) ((c form c (c (? . 4) q pubment)) q (17333 . 2)) ((c form c (c (? . 2) q Place)) q (2949 . 2)) ((c form c (c (? . 0) q for/sum)) q (8758 . 2)) ((c form c (c (? . 0) q require-typed-struct)) q (25480 . 2)) ((c form c (c (? . 0) q require/opaque-type)) q (25453 . 2)) ((c form c (c (? . 0) q for*/list:)) q (24959 . 2)) ((c form c (c (? . 2) q Nonnegative-Fixnum)) q (1687 . 2)) ((c form c (c (? . 1) q SSL-Context)) q (14660 . 2)) ((c form c (c (? . 1) q with-type)) q (22837 . 10)) ((c form c (c (? . 2) q Bytes-Converter)) q (2705 . 2)) ((c form c (c (? . 1) q Date)) q (14754 . 2)) ((c form c (c (? . 1) q IMAP-Connection)) q (14501 . 2)) ((c def c (c (? . 8) q assert)) q (21908 . 6)) ((c form c (c (? . 2) q FSemaphore)) q (3000 . 2)) ((c form c (c (? . 2) q HashTableTop)) q (3481 . 2)) ((c form c (c (? . 2) q Pretty-Print-Style-Table)) q (2575 . 2)) ((c form c (c (? . 0) q for*/product)) q (9765 . 2)) ((c form c (c (? . 2) q Exact-Nonnegative-Integer)) q (363 . 2)) ((c form c (c (? . 1) q SSL-Server-Context)) q (14612 . 2)) ((c form c (c (? . 2) q Nothing)) q (28 . 2)) ((c form c (c (? . 0) q for*/list)) q (8954 . 2)) ((c form c (c (? . 2) q Path-String)) q (3099 . 2)) ((c form c (c (? . 2) q Inexact-Real-Negative-Zero)) q (1217 . 2)) ((c form c (c (? . 0) q for/vector)) q (8624 . 2)) ((c form c (c (? . 2) q Flonum-Nan)) q (830 . 2)) ((c form c (c (? . 2) q Positive-Byte)) q (1594 . 2)) ((c form c (c (? . 3) q Top)) q (5986 . 2)) ((c form c (c (? . 1) q #%module-begin)) q (14332 . 2)) ((c form c (c (? . 2) q Fixnum)) q (1650 . 2)) ((c form c (c (? . 2) q Thread-Group)) q (2911 . 2)) ((c form c (c (? . 0) q for*/lists)) q (10493 . 4)) ((c form c (c (? . 3) q Un)) q (25577 . 2)) ((c form c (c (? . 2) q Float-Complex)) q (209 . 2)) ((c form c (c (? . 0) q letrec)) q (6796 . 2)) ((c form c (c (? . 1) q Path/Param)) q (14522 . 2)) ((c form c (c (? . 0) q for*/set)) q (9834 . 2)) ((c form c (c (? . 2) q Integer)) q (72 . 2)) ((c form c (c (? . 3) q ->*)) q (5632 . 14)) ((c form c (c (? . 0) q for/set)) q (8890 . 2)) ((c form c (c (? . 2) q Char)) q (2077 . 2)) ((c form c (c (? . 3) q case→)) q (6395 . 2)) ((c form c (c (? . 9) q define-type)) q (12906 . 6)) ((c form c (c (? . 1) q for*/flvector)) q (9291 . 2)) ((c form c (c (? . 2) q ExtFlonum-Zero)) q (1951 . 2)) ((c form c (c (? . 1) q GIF-Stream)) q (14402 . 2)) ((c def c (c (? . 0) q index?)) q (22181 . 3)) ((c form c (c (? . 2) q Exact-Positive-Integer)) q (306 . 2)) ((c form c (c (? . 2) q Resolved-Module-Path)) q (2451 . 2)) ((c form c (c (? . 2) q Nonpositive-Inexact-Real)) q (1185 . 2)) ((c form c (c (? . 4) q override)) q (17375 . 2)) ((c form c (c (? . 2) q Null)) q (2338 . 2)) ((c form c (c (? . 1) q URL)) q (14538 . 2)) ((c form c (c (? . 0) q for/product:)) q (25335 . 2)) ((c form c (c (? . 2) q ClassTop)) q (18160 . 2)) ((c form c (c (? . 0) q let*-values:)) q (24328 . 2)) ((c form c (c (? . 0) q opt-lambda:)) q (23503 . 6)) ((c form c (c (? . 0) q typecheck-fail)) q (22233 . 8)) ((c form c (c (? . 3) q →)) q (6384 . 2)) ((c form c (c (? . 2) q Async-Channelof)) q (3559 . 2)) ((c form c (c (? . 2) q Compiled-Expression)) q (2513 . 2)) ((c form c (c (? . 2) q Nonpositive-Flonum)) q (640 . 2)) ((c form c (c (? . 0) q for*/fold)) q (10585 . 4)) ((c form c (c (? . 2) q Negative-Flonum)) q (592 . 2)) ((c form c (c (? . 0) q :query-type/result)) q (22803 . 2)) ((c form c (c (? . 0) q for*/or)) q (9499 . 2)) ((c form c (c (? . 0) q for/or:)) q (25320 . 2)) ((c form c (c (? . 0) q for:)) q (24769 . 2)) ((c form c (c (? . 2) q Void)) q (2089 . 2)) ((c form c (c (? . 0) q for/hash:)) q (25196 . 2)) ((c form c (c (? . 2) q Negative-Float)) q (570 . 2)) ((c form c (c (? . 0) q for*/lists:)) q (24977 . 2)) ((c form c (c (? . 2) q Log-Level)) q (2880 . 2)) ((c form c (c (? . 2) q Negative-Exact-Rational)) q (1399 . 2)) ((c form c (c (? . 1) q FTP-Connection)) q (14460 . 2)) ((c form c (c (? . 3) q Tuple)) q (25597 . 2)) ((c form c (c (? . 2) q Nonnegative-Inexact-Real)) q (1124 . 2)) ((c form c (c (? . 3) q Parameter)) q (25610 . 2)) ((c form c (c (? . 1) q SSL-Listener)) q (14677 . 2)) ((c form c (c (? . 2) q Float-Negative-Zero)) q (666 . 2)) ((c form c (c (? . 0) q define-struct/exec:)) q (24742 . 2)) ((c form c (c (? . 0) q for/last:)) q (25252 . 2)) ((c form c (c (? . 2) q Inexact-Real-Zero)) q (1285 . 2)) ((c form c (c (? . 2) q Vectorof)) q (3343 . 2)) ((c form c (c (? . 2) q Pair)) q (25627 . 2)) ((c form c (c (? . 0) q let-values)) q (6874 . 2)) ((c form c (c (? . 2) q Nonnegative-Float)) q (519 . 2)) ((c form c (c (? . 2) q Thread-Cellof)) q (3747 . 2)) ((c form c (c (? . 0) q for/product)) q (8822 . 2)) ((c form c (c (? . 2) q Positive-Real)) q (1464 . 2)) ((c form c (c (? . 10) q require-typed-struct)) q (26100 . 2)) ((c form c (c (? . 0) q :)) q (13129 . 3)) ((c form c (c (? . 2) q Path)) q (2150 . 2)) ((c form c (c (? . 0) q let)) q (6459 . 13)) ((c form c (c (? . 2) q Keyword)) q (2048 . 2))))
syntax
Any
syntax
AnyValues
syntax
Nothing
syntax
Number
syntax
Complex
syntax
Integer
syntax
Float
syntax
Flonum
syntax
Single-Flonum
syntax
Inexact-Real
syntax
Exact-Rational
syntax
Real
syntax
Exact-Number
syntax
Float-Complex
syntax
Single-Flonum-Complex
syntax
Inexact-Complex
syntax
Positive-Integer
syntax
Exact-Positive-Integer
syntax
Nonnegative-Integer
syntax
Exact-Nonnegative-Integer
syntax
Natural
syntax
Negative-Integer
syntax
Nonpositive-Integer
syntax
Zero
syntax
Positive-Float
syntax
Positive-Flonum
syntax
Nonnegative-Float
syntax
Nonnegative-Flonum
syntax
Negative-Float
syntax
Negative-Flonum
syntax
Nonpositive-Float
syntax
Nonpositive-Flonum
syntax
Float-Negative-Zero
syntax
Flonum-Negative-Zero
syntax
Float-Positive-Zero
syntax
Flonum-Positive-Zero
syntax
Float-Zero
syntax
Flonum-Zero
syntax
Float-Nan
syntax
Flonum-Nan
syntax
Positive-Single-Flonum
syntax
Nonnegative-Single-Flonum
syntax
Negative-Single-Flonum
syntax
Nonpositive-Single-Flonum
syntax
Single-Flonum-Negative-Zero
syntax
Single-Flonum-Positive-Zero
syntax
Single-Flonum-Zero
syntax
Single-Flonum-Nan
syntax
Positive-Inexact-Real
syntax
Nonnegative-Inexact-Real
syntax
Negative-Inexact-Real
syntax
Nonpositive-Inexact-Real
syntax
Inexact-Real-Negative-Zero
syntax
Inexact-Real-Positive-Zero
syntax
Inexact-Real-Zero
syntax
Inexact-Real-Nan
syntax
Positive-Exact-Rational
syntax
Nonnegative-Exact-Rational
syntax
Negative-Exact-Rational
syntax
Nonpositive-Exact-Rational
syntax
Positive-Real
syntax
Nonnegative-Real
syntax
Negative-Real
syntax
Nonpositive-Real
syntax
Real-Zero
syntax
One
syntax
Byte
syntax
Positive-Byte
syntax
Index
syntax
Positive-Index
syntax
Fixnum
syntax
Positive-Fixnum
syntax
Nonnegative-Fixnum
syntax
Negative-Fixnum
syntax
Nonpositive-Fixnum
syntax
ExtFlonum
syntax
Positive-ExtFlonum
syntax
Nonnegative-ExtFlonum
syntax
Negative-ExtFlonum
syntax
Nonpositive-ExtFlonum
syntax
ExtFlonum-Negative-Zero
syntax
ExtFlonum-Positive-Zero
syntax
ExtFlonum-Zero
syntax
ExtFlonum-Nan
syntax
Boolean
syntax
True
syntax
False
syntax
String
syntax
Keyword
syntax
Symbol
syntax
Char
syntax
Void
syntax
Input-Port
syntax
Output-Port
syntax
Port
syntax
Path
syntax
Path-For-Some-System
syntax
Regexp
syntax
PRegexp
syntax
Byte-Regexp
syntax
Byte-PRegexp
syntax
Bytes
syntax
Namespace
syntax
Namespace-Anchor
syntax
Variable-Reference
syntax
Null
syntax
EOF
syntax
Continuation-Mark-Set
syntax
Undefined
syntax
Module-Path
syntax
Module-Path-Index
syntax
Resolved-Module-Path
syntax
Compiled-Module-Expression
syntax
Compiled-Expression
syntax
Internal-Definition-Context
syntax
Pretty-Print-Style-Table
syntax
Special-Comment
syntax
Struct-Type-Property
syntax
Impersonator-Property
syntax
Read-Table
syntax
Bytes-Converter
syntax
Parameterization
syntax
Custodian
syntax
Inspector
syntax
Security-Guard
syntax
UDP-Socket
syntax
TCP-Listener
syntax
Logger
syntax
Log-Receiver
syntax
Log-Level
syntax
Thread
syntax
Thread-Group
syntax
Subprocess
syntax
Place
syntax
Place-Channel
syntax
Semaphore
syntax
FSemaphore
syntax
Will-Executor
syntax
Pseudo-Random-Generator
syntax
Environment-Variables
syntax
Path-String
syntax
(Pairof s t)
syntax
(Listof t)
syntax
(List t ...)
syntax
(List t ... trest ... bound)
syntax
(List* t t1 ... s)
syntax
(MListof t)
syntax
(MPairof t u)
syntax
MPairTop
syntax
(Boxof t)
syntax
BoxTop
syntax
(Vectorof t)
syntax
(Vector t ...)
syntax
FlVector
syntax
ExtFlVector
syntax
FxVector
syntax
VectorTop
syntax
(HashTable k v)
syntax
HashTableTop
syntax
(Setof t)
syntax
(Channelof t)
syntax
ChannelTop
syntax
(Async-Channelof t)
syntax
Async-ChannelTop
syntax
(Parameterof t)
(Parameterof s t)
syntax
(Promise t)
syntax
(Futureof t)
syntax
(Sequenceof t)
syntax
(Custodian-Boxof t)
syntax
(Thread-Cellof t)
syntax
Thread-CellTop
syntax
(Weak-Boxof t)
syntax
Weak-BoxTop
syntax
(Ephemeronof t)
syntax
(Evtof t)
syntax
(Syntaxof t)
syntax
Identifier
syntax
Syntax
syntax
Syntax-E
syntax
(Sexpof t)
syntax
Sexp
syntax
Datum
syntax
(Prompt-Tagof s t)
syntax
Prompt-TagTop
syntax
(Continuation-Mark-Keyof t)
syntax
Continuation-Mark-KeyTop
syntax
(-> dom ... rng opt-proposition)
(-> dom ... rest * rng)
(-> dom ... rest ooo bound rng)
(dom ... -> rng opt-proposition)
(dom ... rest * -> rng)
(dom ... rest ooo bound -> rng)
 
            ooo = ...
                   
            dom = type
                | mandatory-kw
                | opt-kw
                   
   mandatory-kw = keyword type
                   
         opt-kw = [keyword type]
                   
opt-proposition = 
                | : type
                | : pos-proposition
                    neg-proposition
                    object
                   
pos-proposition = 
                | #:+ proposition ...
                   
neg-proposition = 
                | #:- proposition ...
                   
         object = 
                | #:object index
                   
    proposition = Top
                | Bot
                | type
                | (! type)
                | (type @ path-elem ... index)
                | (! type @ path-elem ... index)
                | (and proposition ...)
                | (or proposition ...)
                | (implies proposition ...)
                   
      path-elem = car
                | cdr
                   
          index = positive-integer
                | (positive-integer positive-integer)
                | identifier
syntax
(->* (mandatory-dom ...) optional-doms rest rng)
 
mandatory-dom = type
              | keyword type
                 
optional-doms = 
              | (optional-dom ...)
                 
 optional-dom = type
              | keyword type
                 
         rest = 
              | #:rest type
syntax
Top
syntax
Bot
syntax
Procedure
syntax
(U t ...)
syntax
(∩ t ...)
syntax
(case-> fun-ty ...)
syntax
(t t1 t2 ...)
syntax
(All (a ...) t)
(All (a ... a ooo) t)
syntax
(Values t ...)
syntax
v
syntax
(quote val)
syntax
i
syntax
(Rec n t)
syntax
(Struct st)
syntax
(Struct-Type st)
syntax
Struct-TypeTop
syntax
(Prefab key type ...)
syntax
Union
syntax
Intersection
syntax
→
syntax
case→
syntax
∀
syntax
(Option t)
syntax
(Opaque t)
syntax
(let maybe-tvars (binding ...) . body)
(let loop maybe-ret (binding ...) . body)
 
    binding = [var e]
            | [var : type e]
               
maybe-tvars = 
            | #:forall (tvar ...)
            | #:∀ (tvar ...)
               
  maybe-ret = 
            | : type0
syntax
(letrec (binding ...) . body)
syntax
(let* (binding ...) . body)
syntax
(let-values ([(var+type ...) e] ...) . body)
syntax
(letrec-values ([(var+type ...) e] ...) . body)
syntax
(let*-values ([(var+type ...) e] ...) . body)
syntax
(let/cc v : t . body)
syntax
(let/ec v : t . body)
syntax
(lambda maybe-tvars formals maybe-ret . body)
 
    formals = (formal ...)
            | (formal ... . rst)
               
     formal = var
            | [var default-expr]
            | [var : type]
            | [var : type default-expr]
            | keyword var
            | keyword [var : type]
            | keyword [var : type default-expr]
               
        rst = var
            | [var : type *]
            | [var : type ooo bound]
               
maybe-tvars = 
            | #:forall (tvar ...)
            | #:∀ (tvar ...)
            | #:forall (tvar ... ooo)
            | #:∀ (tvar ... ooo)
               
  maybe-ret = 
            | : type
syntax
(λ formals . body)
syntax
(case-lambda maybe-tvars [formals body] ...)
syntax
(for type-ann-maybe (for-clause ...)
  expr ...+)
 
type-ann-maybe = 
               | : u
                  
    for-clause = [id : t seq-expr]
               | [(binding ...) seq-expr]
               | [id seq-expr]
               | #:when guard
                  
       binding = id
               | [id : t]
syntax
(for/list type-ann-maybe (for-clause ...) expr ...+)
syntax
(for/hash type-ann-maybe (for-clause ...) expr ...+)
syntax
(for/hasheq type-ann-maybe (for-clause ...) expr ...+)
syntax
(for/hasheqv type-ann-maybe (for-clause ...) expr ...+)
syntax
(for/vector type-ann-maybe (for-clause ...) expr ...+)
syntax
(for/or   type-ann-maybe (for-clause ...) expr ...+)
syntax
(for/sum type-ann-maybe (for-clause ...) expr ...+)
syntax
(for/product type-ann-maybe (for-clause ...) expr ...+)
syntax
(for/set type-ann-maybe (for-clause ...) expr ...+)
syntax
(for*/list type-ann-maybe (for-clause ...) expr ...+)
syntax
(for*/hash type-ann-maybe (for-clause ...) expr ...+)
syntax
(for*/hasheq type-ann-maybe (for-clause ...) expr ...+)
syntax
(for*/hasheqv type-ann-maybe (for-clause ...) expr ...+)
syntax
(for*/vector type-ann-maybe (for-clause ...) expr ...+)
syntax
(for*/flvector type-ann-maybe (for-clause ...) expr ...+)
syntax
(for*/extflvector type-ann-maybe (for-clause ...) expr ...+)
syntax
(for*/and type-ann-maybe (for-clause ...) expr ...+)
syntax
(for*/or   type-ann-maybe (for-clause ...) expr ...+)
syntax
(for*/first type-ann-maybe (for-clause ...) expr ...+)
syntax
(for*/last type-ann-maybe (for-clause ...) expr ...+)
syntax
(for*/sum type-ann-maybe (for-clause ...) expr ...+)
syntax
(for*/product type-ann-maybe (for-clause ...) expr ...+)
syntax
(for*/set type-ann-maybe (for-clause ...) expr ...+)
syntax
(for/flvector type-ann-maybe (for-clause ...) expr ...+)
syntax
(for/extflvector type-ann-maybe (for-clause ...) expr ...+)
syntax
(for/and type-ann-maybe (for-clause ...) expr ...+)
syntax
(for/first type-ann-maybe (for-clause ...) expr ...+)
syntax
(for/last type-ann-maybe (for-clause ...) expr ...+)
syntax
(for/lists type-ann-maybe ([id : t] ...)
  (for-clause ...)
  expr ...+)
syntax
(for/fold  type-ann-maybe ([id : t init-expr] ...)
  (for-clause ...)
  expr ...+)
syntax
(for* void-ann-maybe (for-clause ...)
  expr ...+)
syntax
(for*/lists type-ann-maybe ([id : t] ...)
  (for-clause ...)
  expr ...+)
syntax
(for*/fold  type-ann-maybe ([id : t init-expr] ...)
  (for-clause ...)
  expr ...+)
syntax
(do : u ([id : t init-expr step-expr-maybe] ...)
        (stop?-expr finish-expr ...)
  expr ...+)
 
step-expr-maybe = 
                | step-expr
syntax
(define maybe-tvars v maybe-ann e)
(define maybe-tvars header maybe-ann . body)
 
     header = (function-name . formals)
            | (header . formals)
               
    formals = (formal ...)
            | (formal ... . rst)
               
     formal = var
            | [var default-expr]
            | [var : type]
            | [var : type default-expr]
            | keyword var
            | keyword [var : type]
            | keyword [var : type default-expr]
               
        rst = var
            | [var : type *]
            | [var : type ooo bound]
               
maybe-tvars = 
            | #:forall (tvar ...)
            | #:∀ (tvar ...)
            | #:forall (tvar ... ooo)
            | #:∀ (tvar ... ooo)
               
  maybe-ann = 
            | : type
syntax
(struct maybe-type-vars name-spec ([f : t] ...) options ...)
 
maybe-type-vars = 
                | (v ...)
                   
      name-spec = name-id
                | name-id parent
                   
        options = #:transparent
                | #:mutable
                | #:prefab
                | #:constructor-name constructor-id
                | #:extra-constructor-name constructor-id
                | #:type-name type-id
syntax
(define-struct maybe-type-vars name-spec ([f : t] ...) options ...)
 
maybe-type-vars = 
                | (v ...)
                   
      name-spec = name-id
                | name-id parent
                   
        options = #:transparent
                | #:mutable
                | #:type-name type-id
syntax
(define-struct/exec name-spec ([f : t] ...) [e : proc-t] maybe-type-name)
 
      name-spec = name-id
                | name-id parent
                   
maybe-type-name = 
                | #:type-name type-id
syntax
(define-type name t maybe-omit-def)
(define-type (name v ...) t maybe-omit-def)
 
maybe-omit-def = #:omit-define-syntaxes
               | 
syntax
(make-predicate t)
syntax
(define-predicate name t)
syntax
(: v t)
(: v : t)
syntax
(provide: [v t] ...)
syntax
#{v : t}
syntax
(ann e t)
syntax
#{e :: t}
syntax
(cast e t)
syntax
(inst e t ...)
(inst e t ... t ooo bound)
syntax
(row-inst e row)
syntax
#{e @ t ...}
syntax
#{e @ t ... t ooo bound}
syntax
(require/typed m rt-clause ...)
 
    rt-clause = [maybe-renamed t]
              | [#:struct maybe-tvars name-id ([f : t] ...)
                     struct-option ...]
              | [#:struct maybe-tvars (name-id parent) ([f : t] ...)
                     struct-option ...]
              | [#:opaque t pred]
              | [#:signature name ([id : t] ...)]
                 
maybe-renamed = id
              | (orig-id new-id)
                 
  maybe-tvars = 
              | (type-variable ...)
                 
struct-option = #:constructor-name constructor-id
              | #:extra-constructor-name constructor-id
              | #:type-name type-id
syntax
(require/typed/provide m rt-clause ...)
syntax
with-handlers
procedure
(default-continuation-prompt-tag)
 -> (-> (Prompt-Tagof Any (Any -> Any)))
syntax
(#%module-begin form ...)
syntax
(#%top-interaction . form)
type
GIF-Stream
type
GIF-Colormap
type
JSExpr
type
Cookie
type
FTP-Connection
type
HTTP-Connection
type
IMAP-Connection
type
Path/Param
type
URL
type
URL-Exception
type
PortT
type
PortT/Bytes
type
SSL-Protocol
type
SSL-Server-Context
type
SSL-Client-Context
type
SSL-Context
type
SSL-Listener
type
SSL-Verify-Source
type
Char-Set
type
Cursor
type
Time
type
Date
syntax
(class superclass-expr
  maybe-type-parameters
  class-clause ...)
 
         class-clause = (inspect inspector-expr)
                      | (init init-decl ...)
                      | (init-field init-decl ...)
                      | (init-rest id/type)
                      | (field field-decl ...)
                      | (inherit-field field-decl ...)
                      | (public maybe-renamed/type ...)
                      | (pubment maybe-renamed/type ...)
                      | (override maybe-renamed/type ...)
                      | (augment maybe-renamed/type ...)
                      | (private id/type ...)
                      | (inherit id ...)
                      | method-definition
                      | definition
                      | expr
                      | (begin class-clause ...)
                         
maybe-type-parameters = 
                      | #:forall (type-variable ...)
                      | #:∀ (type-variable ...)
                         
            init-decl = id/type
                      | [renamed]
                      | [renamed : type-expr]
                      | [maybe-renamed default-value-expr]
                      | [maybe-renamed : type-expr default-value-expr]
                         
           field-decl = (maybe-renamed default-value-expr)
                      | (maybe-renamed : type-expr default-value-expr)
                         
              id/type = id
                      | [id : type-expr]
                         
   maybe-renamed/type = maybe-renamed
                      | [maybe-renamed : type-expr]
                         
        maybe-renamed = id
                      | renamed
                         
              renamed = (internal-id external-id)
syntax
(define/public id expr)
(define/public (id . formals) body ...+)
syntax
(define/override id expr)
(define/override (id . formals) body ...+)
syntax
(define/pubment id expr)
(define/pubment (id . formals) body ...+)
syntax
(define/augment id expr)
(define/augment (id . formals) body ...+)
syntax
(define/private id expr)
(define/private (id . formals) body ...+)
syntax
(init init-decl ...)
syntax
(init-field init-decl ...)
syntax
(field field-decl ...)
syntax
(inherit-field field-decl ...)
syntax
(init-rest id/type)
syntax
(public maybe-renamed/type ...)
syntax
(pubment maybe-renamed/type ...)
syntax
(override maybe-renamed/type ...)
syntax
(augment maybe-renamed/type ...)
syntax
(private id/type ...)
syntax
(inherit maybe-renamed/type ...)
syntax
(Class class-type-clause ...)
 
class-type-clause = name+type
                  | (init init-type ...)
                  | (init-field init-type ...)
                  | (init-rest name+type)
                  | (field name+type ...)
                  | (augment name+type ...)
                  | #:implements type-alias-id
                  | #:implements/inits inits-id
                  | #:row-var row-var-id
                     
        init-type = name+type
                  | [id type #:optional]
                     
        name+type = [id type]
syntax
ClassTop
syntax
(Object object-type-clause ...)
 
object-type-clause = name+type
                   | (field name+type ...)
syntax
(Instance class-type-expr)
syntax
(Row class-type-clause ...)
syntax
(define-signature id extension-decl
  (sig-elem ...))
 
extension-decl = 
               | extends sig-id
                  
      sig-elem = [id : type]
syntax
(unit
  (import sig-spec ...)
  (export sig-spec ...)
  init-depends-decl
  unit-body-expr-or-defn
  ...)
 
         sig-spec = sig-id
                  | (prefix id sig-spec)
                  | (rename sig-spec (id id) ...)
                  | (only sig-spec id ...)
                  | (except sig-spec id ...)
                     
init-depends-decl = 
                  | (init-depend sig-id ...)
syntax
(invoke-unit unit-expr)
(invoke-unit unit-expr (import sig-spec ...))
syntax
(define-values/invoke-unit unit-expr
  (import def-sig-spec ...)
  (export def-sig-spec ...))
 
def-sig-spec = sig-id
             | (prefix id def-sig-spec)
             | (rename def-sig-spec (id id) ...)
syntax
(compound-unit
  (import link-binding ...)
  (export link-id ...)
  (link linkage-decl ...))
 
link-binding = (link-id : sig-id)
                
linkage-decl = ((link-binding ...) unit-expr link-id ...)
syntax
(define-unit unit-id
  (import sig-spec ...)
  (export sig-spec ...)
  init-depends-decl
  unit-body-expr-or-defn
  ...)
syntax
(compound-unit/infer
  (import infer-link-import ...)
  (export infer-link-export ...)
  (link infer-linkage-decl ...))
 
 infer-link-import = sig-id
                   | (link-id : sig-id)
                      
 infer-link-export = link-id
                   | sig-id
                      
infer-linkage-decl = ((link-binding ...) unit-id
                                         tagged-link-id ...)
                   | unit-id
syntax
(define-compound-unit id
  (import link-binding ...)
  (export link-id ...)
  (link linkage-decl ...))
syntax
(define-compound-unit/infer id
  (import link-binding ...)
  (export infer-link-export ...)
  (link infer-linkage-decl ...))
syntax
(invoke-unit/infer unit-spec)
 
unit-spec = unit-id
          | (link link-unit-id ...)
syntax
(define-values/invoke-unit/infer maybe-exports unit-spec)
 
maybe-exports = 
              | (export sig-sepc ...)
                 
    unit-spec = unit-id
              | (link link-unit-id ...)
syntax
(unit-from-context sig-spec)
syntax
(define-unit-from-context id sig-spec)
syntax
(Unit
  (import sig-id ...)
  (export sig-id ...)
  optional-init-depend-clause
  optional-body-type-clause)
 
optional-init-depend-clause = 
                            | (init-depend sig-id ...)
                               
  optional-body-type-clause = 
                            | type
                            | (Values type ...)
syntax
UnitTop
syntax
(require/typed m rt-clause ...)
 
    rt-clause = [maybe-renamed t]
              | [#:struct name ([f : t] ...)
                     struct-option ...]
              | [#:struct (name parent) ([f : t] ...)
                     struct-option ...]
              | [#:opaque t pred]
              | [#:signature name ([id : t] ...)]
                 
maybe-renamed = id
              | (orig-id new-id)
                 
struct-option = #:constructor-name constructor-id
              | #:extra-constructor-name constructor-id
procedure
(assert v) -> A
  v : (U #f A)
(assert v p?) -> B
  v : A
  p? : (A -> Any : B)
syntax
(with-asserts ([id maybe-pred] ...) body ...+)
 
maybe-pred = 
           | predicate
procedure
(defined? v) -> boolean?
  v : any/c
procedure
(index? v) -> boolean?
  v : any/c
syntax
(typecheck-fail orig-stx maybe-msg maybe-id)
 
maybe-msg = 
          | msg-string
             
 maybe-id = 
          | #:covered-id id
syntax
(require/untyped-contract maybe-begin module [name subtype] ...)
 
maybe-begin = 
            | (begin expr ...)
syntax
(define-typed/untyped-identifier name typed-name untyped-name)
procedure
(syntax-local-typed-context?) -> boolean?
syntax
(:type maybe-verbose t)
 
maybe-verbose = 
              | #:verbose
syntax
(:print-type e)
syntax
(:query-type/args f t ...)
syntax
(:query-type/result f t)
syntax
(with-type result-spec fv-clause body ...+)
(with-type export-spec fv-clause body ...+)
 
  fv-clause = 
            | #:freevars ([id fv-type] ...)
               
result-spec = #:result type
               
export-spec = ([export-id export-type] ...)
syntax
(unsafe-require/typed m rt-clause ...)
syntax
(unsafe-provide provide-spec ...)
syntax
(lambda: formals . body)
 
formals = ([v : t] ...)
        | ([v : t] ... v : t *)
        | ([v : t] ... v : t ooo bound)
syntax
(λ: formals . body)
syntax
(plambda: (a ...) formals . body)
(plambda: (a ... b ooo) formals . body)
syntax
(opt-lambda: formals . body)
 
formals = ([v : t] ... [v : t default] ...)
        | ([v : t] ... [v : t default] ... v : t *)
        | ([v : t] ... [v : t default] ... v : t ooo bound)
syntax
(popt-lambda: (a ...) formals . body)
(popt-lambda: (a ... a ooo) formals . body)
syntax
case-lambda:
syntax
(pcase-lambda: (a ...) [formals body] ...)
(pcase-lambda: (a ... b ooo) [formals body] ...)
syntax
(let: ([v : t e] ...) . body)
(let: loop : t0 ([v : t e] ...) . body)
syntax
(plet: (a ...) ([v : t e] ...) . body)
syntax
(letrec: ([v : t e] ...) . body)
syntax
(let*: ([v : t e] ...) . body)
syntax
(let-values: ([([v : t] ...) e] ...) . body)
syntax
(letrec-values: ([([v : t] ...) e] ...) . body)
syntax
(let*-values: ([([v : t] ...) e] ...) . body)
syntax
(let/cc: v : t . body)
syntax
(let/ec: v : t . body)
syntax
(define: v : t e)
(define: (a ...) v : t e)
(define: (a ... a ooo) v : t e)
(define: (f . formals) : t . body)
(define: (a ...) (f . formals) : t . body)
(define: (a ... a ooo) (f . formals) : t . body)
syntax
struct:
syntax
define-struct:
syntax
define-struct/exec:
syntax
for:
syntax
for*/and:
syntax
for*/first:
syntax
for*/flvector:
syntax
for*/extflvector:
syntax
for*/fold:
syntax
for*/hash:
syntax
for*/hasheq:
syntax
for*/hasheqv:
syntax
for*/last:
syntax
for*/list:
syntax
for*/lists:
syntax
for*/set:
syntax
for*/or:
syntax
for*/product:
syntax
for*/sum:
syntax
for*/vector:
syntax
for*:
syntax
for/and:
syntax
for/first:
syntax
for/flvector:
syntax
for/extflvector:
syntax
for/fold:
syntax
for/hash:
syntax
for/hasheq:
syntax
for/hasheqv:
syntax
for/last:
syntax
for/list:
syntax
for/lists:
syntax
for/set:
syntax
for/or:
syntax
for/product:
syntax
for/sum:
syntax
for/vector:
syntax
do:
syntax
define-type-alias
syntax
define-typed-struct
syntax
require/opaque-type
syntax
require-typed-struct
syntax
require-typed-struct/provide
syntax
pdefine:
syntax
(pred t)
syntax
Un
syntax
mu
syntax
Tuple
syntax
Parameter
syntax
Pair
syntax
values
syntax
(require/typed m rt-clause ...)
 
    rt-clause = [r t]
              | [struct name ([f : t] ...)
                     struct-option ...]
              | [struct (name parent) ([f : t] ...)
                     struct-option ...]
              | [opaque t pred]
                 
struct-option = #:constructor-name constructor-id
              | #:extra-constructor-name constructor-id
syntax
require-typed-struct
syntax
(declare-refinement id)
syntax
(Refinement id)
syntax
(define-typed-struct/exec forms ...)
syntax
(define-new-subtype name (constructor t))
