Yeah, I admit that the API is shitty, but I was just amusing myself with @_ aliasing when I found this error. I was the only user of this little subroutine, anyway, and it wasn't part of any library I was going to distribute or anything.
Thanks for the tip on Scalar::Util::readonly(), and thanks to everyone else for their comments.
Comment on Re: Re: How do I check if a scalar in @_ is writable?