# File lib/backports/1.8.7/enumerable.rb, line 214
  def take(n)
    n = Backports.coerce_to_int(n)
    raise ArgumentError, "attempt to take negative size: #{n}" if n < 0
    [].tap do |array|
      each do |elem|
        array << elem
        break if array.size >= n
      end unless n <= 0
    end
  end