#define _GNU_SOURCE
#include <stdlib.h>
#include <search.h>

struct node {
  void* key;
  struct node* left;
  struct node* right;
};

void tdestroy(void* root, void (*freekey)(void*)) {
  struct node* r = root;

  if (r == 0)
    return;
  tdestroy(r->left, freekey);
  tdestroy(r->right, freekey);
  if (freekey)
    freekey(r->key);
  free(r);
}
