class Array

def recursively_flatten_finite(array, out, level)

Adapted from rubinius'; recursion guards are not needed because level is finite
Helper to recurse through flattening
def recursively_flatten_finite(array, out, level)
  ret = nil
  if level <= 0
    out.concat(array)
  else
    array.each do |o|
      if ary = Backports.is_array?(o)
        recursively_flatten_finite(ary, out, level - 1)
        ret = self
      else
        out << o
      end
    end
  end
  ret
end