EXISTS
void in_order_traverse
       (binary_tree *t, void (*f) (element))
{
  if (! is_empty(t)) {
    if (exists(t,Left))
      in_order_traverse(get_tree(t,Left),f);
    f(get_rootvalue(t));
    if (exists(t,Right))
      in_order_traverse(get_tree(t,Right),f);
  }
}
WHICH_SIDE