>     assert_yin_yang -> { q +=  0 }, 'it broke!', -> { q == 42 }

Props! I was hoping that's what -> was for!

About _{}, I meant making a global identifier out of _ was dangerous. Of course 
we sometimes use it as a private identifier, in a Prolog kinda way, such as 
|a,_,c|, to identify a variable we don't want anyone to access. My library 
should not collide with anyone doing that, so I did not put _{} in it; it's just 
a recommendation in the documentation.

The "in the way" alternative was:

   assert_yin_yang proc{ q +=  0 }, 'it broke!',
                   proc{ q == 42 }

That sorta obviates my standard advertizing jingle - more assert bang for less 
coding buck! 'proc' ain't DRY there...

(Now about the rest of assert{ 2.0 } working with Ruby 1.9...)