def shuffle
      return self.class.new(((array = to_a).frozen? ? array.shuffle : array.shuffle!).freeze)
    end
def shuffle
      return self.class.new(((array = to_a).frozen? ? array.shuffle : array.shuffle!).freeze)
    end
Return a new `Tuple` with the same elements as this one, but randomly permuted.

 @example
   Erlang::Tuple[1, 2, 3, 4].shuffle  # => Erlang::Tuple[4, 1, 3, 2]

 @return [Tuple]