class Trees {
static <K> int leaves (Tree<K> t) {
return t.receive(new Tree.Visitor<K,Integer>() {
public Integer branch
(Integer left, Integer right) {
return left + right;
}
public Integer leaf(K key) {
return 1;
}
});
}
}