Я построил двоичное дерево с помощью:
data Tree a = Empty
| Node a (Tree a) (Tree a)
deriving (Eq, Ord, Read, Show)
Как я могу сделать экземпляр класса типа Monad для этого дерева? И могу ли я сделать это не?
Я пытаюсь:
instance Monad Tree where
return x = Node x Empty Empty
Empty >>= f = Empty
(Node x Empty Empty) >>= f = f x
Но я не могу сделать ( → =) для Node x слева направо.
Спасибо.