tree typedefs