In Java one can write: new MyClass().run(); in D this does not compile, parenthesis are needed. (new MyClass()).run(); But why is the D language designed like that?