i hope there will be fixed evaluation order in D. spec writers
(especially those who writing specs for C) tends to think 'too
close to machine', saying 'unspecified' here and there to allow
write compilers that can 'superoptimize' some code.
but what they nearly always forgot is that humans writing
programs, not computers. so the language should be *first* clear
to human writer and *only then* supports some optimizing tricks.
ideally there should be no 'undefined behavior' in specs at all.
if something is questionable from the point of a language user
(not compiler writer), this should be fixed and documented. and
declaring it 'undefined behavior' is not the proper way to fix
it. ;-)