volatile VALUE vth = secretrbth_new(th);
volatile VALUE vth = secretrbth_new(cloneTreeHolder(th));
static void rbtmto_treeimproved(struct TreeObserver *tob, struct TreeHolder *th){  struct TreeObserverState *tos = (struct TreeObserverState *) tob->ptr;  volatile VALUE vth = secretrbth_new(th);  if (tos->obs != Qnil) {    tos->th = vth;    rb_funcall(tos->obs, rb_intern("treeImproved"), 1, vth);    tos->th = Qnil;  }}