Я бы хотел показать функцию show для моего двоичного дерева, построенного следующим образом: data Tree a = Nil | Leaf a | Branch a (Tree a) (Tree a)
.Я хотел бы получить представление, как "дерево" Unix команды.Например:

Функция показа будет выглядеть следующим образом:
> 27
>> 14
>>> 10
>>> 19
>> 35
>>> 31
>>> 42
Я хочу табулировать каждое "поддерево" с помощью рекурсиифункция, но я не знаю, как это мой фактический код:
instance (Show a)=>Show (Tree a) where
show Nil = ""
show (Leaf e) = show e
show (Branch e ls rs) = show e ++ "\n\t" ++ show ls ++ "\n\t" ++ show rs
Итак, вопрос: как я могу реализовать рекурсивную функцию табуляции, потому что каждый раз, когда я использую новую строку и просто табулировать простоодин раз вместо глубины поддерева