Tree validation uses udfs

I guess. The same doc string is on the superclass. Bugs my DRY impulses.