14 lines
369 B
Racket
14 lines
369 B
Racket
#lang typed/racket
|
|
|
|
(define: b : (Boxof Any) (box 4))
|
|
|
|
(define-predicate boxof-integer? (Boxof Integer))
|
|
|
|
(define (set-b-box! v) (set-box! b v))
|
|
|
|
(: a-very-listy-integer (-> Integer))
|
|
(define (a-very-listy-integer)
|
|
(cond [(boxof-integer? b) (set-b-box! '(1 2 3))
|
|
(unbox b)]
|
|
[else (error 'a-very-listy-integer "can't happen")]))
|