Przekazuj argumenty przez odniesienie do bloku za pomocą operatora splat

Wydaje się, że argumenty są kopiowane przy użyciu operatora splat do przekazywania argumentów do bloku przez odniesienie.

Mam to:

def method
  a = [1,2,3]
  yield(*a)
  p a
end

method {|x,y,z| z = 0}
#=> this puts and returns [1, 2, 3] (didn't modified the third argument)

Jak mogę przekazać te argumenty przez odniesienie? Wydaje się, że działa, jeśli przekazuję tablicę bezpośrednio, ale operator splat byłby tu znacznie bardziej praktyczny, intuicyjny i łatwiejszy w obsłudze.