Issue with Array#unshift, sometimes doesn't respect frozenness of array
This should raise a
FrozenError, but doesn't:
a =  * 100 b = a[4..-1] a.replace() b.freeze b.unshift("a") # no error
There is a code path in
ary_ensure_room_for_unshift where the frozen check is skipped. I'll hoist this check to the top of the function in a PR.