flatten == Data.Foldable.toList
a / \ => [a,b,c] b c
flatten (Node 1 [Node 2 [], Node 3 []]) == [1,2,3]
>>> flatten (ident 3) [1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0] it :: (Num t, Element t) => Vector t
main = simpleHTTP nullConf $ flatten $ do return "flatten me."
xs == flatten (collectCoincident xs)