defmodule RC do
def flatten([]), do: []
def flatten([h|t]), do: flatten(h) ++ flatten(t)
def flatten(h), do: [h]
end
list = [[1], 2, [[3,4], 5], [[[]]], [[[6]]], 7, 8, []]
# Our own implementation
IO.inspect RC.flatten(list)
# Library function
IO.inspect List.flatten(list)