(bind-func BTree_map:[BTree{!v}*,BTree{!r}*,[!v,!r]*]* (lambda (tree fn) (if (null? tree) null (BTree (fn (tref tree 0)) (BTree_map fn (tref tree 1)) (BTree_map fn (BTree_right tree))))))