typed-racket/typed-racket-test/succeed/pr13412.rkt
2014-12-16 10:07:25 -05:00

13 lines
332 B
Racket

#lang typed/racket
(define-type (Tree A) (U (Listof A) (node A)))
(struct: (A) node ([val : A]
[left : (Tree A)]
[right : (Tree A)]))
(: tree-set (All (A) (A (Tree A) -> (Tree A))))
(define (tree-set y t)
(cond [(node? t) (node y (node-left t) (node-right t))]
[else (list y)]))