-- Zadanie 2. data Tree a = Empty | Node a (Tree a) (Tree a) depth :: Tree a -> Int depth Empty = 0 depth (Node _ l r) = 1 + max (depth l) (depth r) preorder :: Tree a -> [a] preorder Empty = [] preorder (Node a l r) = [a] ++ preorder l ++ preorder r inorder :: Tree a -> [a] inorder Empty = [] inorder (Node a l r) = inorder l ++ [a] ++ inorder r postorder :: Tree a -> [a] postorder Empty = [] postorder (Node a l r) = [a] ++ postorder l ++ postorder r