Update: Oops, my understanding of splice was wrong. See JavaFan and ikegami below.
In reply to Re^3: rand + shift || pop by lidden in thread rand + shift || pop by magnus