#lang typed/racket
(define-type-alias BT (U mt node))
(struct mt ())
(struct node ([v : Number] [l : BT] [r : BT]))
(define t1
(node 5
(node 3
(node 1 (mt) (mt))
(mt))
(node 7
(mt)
(node 9 (mt) (mt)))))
(node-l t1) ; OK
;;(node-l (node-l t1)) ; not OK