That might be the obvious case in hindsight. But you can't change the DWIMmery radically now, without having something subtly being made different. Also, I think it's the same DWIMmery used at the beginning of a statement that might also be a return value for a subroutine: you sometimes want that to be a block, and sometimes and hashref, hence the DWIMmery.
Personally, I find the "+" prefix and ";" suffix to that open brace a bit tacky, but certainly a lot better than having a language force me to always use 8-space tabs just to make sure that lined up things stay lined up since the lineup is syntactically significant. {grin}