> This "problem" happens because D belongs to the C-family of languages > which puts the return type _before_ the function name. It has nothing to do with being a C-family language. C/C++ don't have this, and the rules are perfectly clear. It is just unifying two or more unrelated things in one syntax for the sake of consistency (and compiler complexity?).