on a second thought, we don't need definingTree in the public API

actually it wouldn't hurt, but it would be a huge pain to implement
and the maintain