-- Flatten list
-- incomplete
data NestedList a = Elem a
| List [NestedList a]
flatten :: NestedList -> list
flatten