1 2 3 4 5
data NestedList a = Elem a | List [NestedList a] myFlatten :: NestedList a -> [a] myFlatten (Elem x) = [x] myFlatten (List x) = concatMap myFlatten x