I hadn't seen this particular variant posted in this thread yet.
Apologies if it was and I missed it. I make no claims as to its ease
of parsing or whatever, but it looks better than many of the other
options to me.
bar = { x, y=3, z=b|5 ->
x + y * z
}
I believe this is similar to the approach that Groovy [1] uses for its blocks.
Jason
[1] http://groovy.codehaus.org