T Node String value Node? left Node? right F (value, Node? left = N, Node? right = N) .value = String(value) .left = left .right = right F tree_indent() -> [String] V tr = I .right != N {.right.tree_indent()} E [‘-- (null)’] R [‘--’(.value)] [+] (I .left != N {.left.tree_indent()} E [‘-- (null)’]).map(a -> ‘ |’a) [+] [‘ `’tr[0]] + tr[1..].map(a -> ‘ ’a) V tree = Node(1, Node(2, Node(4, Node(7)), Node(5)), Node(3, Node(6, Node(8), Node(9)))) print(tree.tree_indent().join("\n"))