I'm happy with the depth and generation definitions.

We should work out the height definition—are you thinking it's min-steps-to-leaf, or max-steps-to-leaf? I'm not convinced it's a thing that is generally useful (I've not needed ```leaves``` in practice yet, I just added it "while i was in there").