Currently pp_leavesublv copies any read-only items returned by an lvalue sub if it is called within for(...) or within a subroutine’s arguments. Since one of the purposes of lvalue subs is for the caller to be able to reference the actual scalar returned, it makes sense to me to stop it from doing this. Is there any reason I should not?