A General Purpose Tree Data Structure for Ruby