class AVLTree
def ancestors(node)
def ancestors(node) node.empty? ? [] : case [@value, @value.object_id] <=> [node.value, node.value.object_id] when +1 then [*@left.ancestors(node), self] when 0 then [] when -1 then [*@right.ancestors(node), self] end end