import Data.Tree (Tree (..)) main :: IO () main = return () data Item = Item { itemId :: Int, label :: String } item1 = Item { itemId = 1, label = "Item 1" } item2 = Item { itemId = 2, label = "Item 2" } item3 = Item { itemId = 3, label = "Item 3" } tree :: Tree Item tree = Node item1 [Node item2 [], Node item3 []] breadcrumbs :: [(Item, [Item])] breadcrumbs = [(item2, [item1]), (item3, [item1])]