# File lib/backports/1.8.7/array/shuffle.rb, line 8
    def shuffle!
      raise TypeError, "can't modify frozen array" if frozen?
      size.times do |i|
        r = i + Kernel.rand(size - i)
        self[i], self[r] = self[r], self[i]
      end
      self
    end