For comparison, AVL tress are widely used in illumos. There are some nice big doc comments in these files as well.
https://github.com/illumos/illumos-gate/blob/master/usr/src/...
https://github.com/illumos/illumos-gate/blob/master/usr/src/...
https://github.com/illumos/illumos-gate/blob/master/usr/src/...
https://github.com/illumos/illumos-gate/blob/master/usr/src/...
https://illumos.org/man/9F/avl
... and in user mode, via libavl:
https://illumos.org/man/3LIB/libavl
Our debugger, MDB, is able to use the offsets and pointers stored in the tree to provide generic walks through any AVL tree in a live system, core file, or crash dump.
In certain contexts saving a node transversal will have a meaningful impact on performance.
[0] http://dtrace.org/blogs/bmc/2018/09/28/the-relative-performa...