Isn't your weird the same as
def weird
x = nil
[proc {x}, proc {|v| x=v}]
endand wouldn't this work under the new rules, too?
Under the new rules, you could make it slightly more weird like this:
def weird1
[proc {|v| x=v}, proc{x}]
end
And under both old and new rules, you can have:
def weird2(x)
[proc {|v| x=v}, proc{x}]
end
Cheers,
Brian.