module Spruz::Shuffle

def shuffle

def shuffle
  dup.shuffle!
end

def shuffle!

def shuffle!
  (size - 1) .downto(1) do |i|
    j = rand(i + 1)
    self[i], self[j] = self[j], self[i]
  end
  self
end