#lang plait
(define-type BT
[mt]
[node (v : Number) (l : BT) (r : BT)])
(define (size-pm t)
(type-case BT t
[(mt) 0]
[(node v l r) (+ 1 (+ (size-pm l) (size-pm r)))]))
(size-pm (mt))
#lang plait
(define-type BT
[mt]
[node (v : Number) (l : BT) (r : BT)])
(define (size-pm t)
(type-case BT t
[(mt) 0]
[(node v l r) (+ 1 (+ (size-pm l) (size-pm r)))]))
(size-pm (mt))