-fn each<'r, K: TotalOrd, V>(node: &'r Option<~TreeNode<K, V>>,
- f: &fn(&'r K, &'r V) -> bool) -> bool {
- node.iter().advance(|x| each(&x.left, |k,v| f(k,v)) && f(&x.key, &x.value) &&
- each(&x.right, |k,v| f(k,v)))
-}
-
-fn each_reverse<'r, K: TotalOrd, V>(node: &'r Option<~TreeNode<K, V>>,
- f: &fn(&'r K, &'r V) -> bool) -> bool {
- node.iter().advance(|x| each_reverse(&x.right, |k,v| f(k,v)) && f(&x.key, &x.value) &&
- each_reverse(&x.left, |k,v| f(k,v)))
-}
-