I hadn't seen this in any of the docs or books, I only learned about it here in the monastery myself. In hindsight it is relatively obvious if you think about how arrays work, but being used to similar operations in constant time from hashes, it is easy to wrongly assume
splice works the same way and I fell for the trap. It's sort of funny how nearly everyone does.
Makeshifts last the longest.