It would be nice to permit something like this: struct Foo { this(int x, string y) { ... } this(string y) => this(0, y); } Currently this fails because constructors are not allowed to return anything. But that should not be part of this DIP, probably.