Со следующим типом данных
data Tree a = Node a [Tree a]
Я хотел бы создать следующую функцию:
labels:: Tree a -> [a]
labels (Node label children) = label: (map labels children)
, но это принимает значение
* Occurs check: cannot construct the infinite type: a ~ [a]
Expected type: [a]
Actual type: [[a]]
Имеет детейx: xs тоже не помог, так как xs все равно будет списком деревьев, а не одним деревом.