From: Jan Lelis on
Hi Ruby mailing list,

I've recently come across a pretty common situation in Ruby:

end
end
end

After those parts, you often don't know, where exactly you have to
continue.

So what about allowing to specify, which end belongs to which start?
I've thought about something like this:

end|do
end|if
end|def

or

end~do
end~if
end~def

or

end:do
end:if
end:def

If you specify it, and it does not match, the compiler throws an error.
Of course, you can always omit it to have the normal behaviour, but you
are encouraged to often "document", which end belongs to which block
(and you do yourself a favour in these nested situations).

What do you think about it?