#* http://rosettacode.org/wiki/Flatten_a_list
  Write a function to flatten the nesting in an arbitrary list of values.
*#

array.prototype.flatten = {
  true? my.empty?
    { [] }
    { true? my.first.array?
      { my.first.flatten + my.rest.flatten }
      { [my.first] + my.rest.flatten }
    }
}

#Example:
list = [[1], 2, [[3,4], 5], [[[]]], [[[6]]], 7, 8, []]
p "List: #{list}"
p "Flattened: #{list.flatten}"