How can I shorten this multiple assignment in Lua? Is there any better way to golf this (other than removing newlines/indentation)?

function(a,b,...)
  local c=s(a,b)
  local d=c
  for i,v in ipairs{...} do d=d:push(v) end
  return c
end


I'm particularly bothered by the double local usage, but as Lua does not have multiple assignment, and I cannot use function parameters to declare the locals, I can't see a way to remove them.

For those who care, this is the implementation of the __call metamethod in my quick hack of a linked-list ~class used in this answer.
As requested in the comments, here it is as an answer.

local c,d=s(a,b)  -- d is nil
d=c


This saves you one local declaration, should give you -5 bytes.