I'm a little confused about the advantage of your suggestion:

:[:key => 'value', :foo => 'bar'] 

over this:

[key:value, foo:bar]  (the key:value syntax is already part of ruby 1.9)

I'd be interested in the explaination of your preference.

About the empty hash idea, the :[] syntax represents a symbol (try
this '"[]".to_sym), so it might not be such a good idea.

Then again, I am no matz :)

Dan