10 lines
239 B
Racket
10 lines
239 B
Racket
#lang typed-scheme
|
|
(define-typed-struct (a) bag ([val : a]))
|
|
|
|
(provide make-bag)
|
|
|
|
(let: ([x : (bag Number) (make-bag #{3 :: Number})]
|
|
[y : (bag Boolean) (make-bag #{#t :: Boolean})])
|
|
(+ 4 (bag-val x))
|
|
(not (bag-val y)))
|