I found out quite by accident, that if you "include" the following Module:
module M; def a; puts "weird"; 1; end; end
then you can create some pretty weird expressions:
p :: M .==(:: M::a )? :a: :: M
or
p ::M.==(::M::a)?:a: ::M::a.+(a)
Go ahead ... see for yourself what they evaluate too.
Just for fun !
-- shanko