Ideas for features based on the with. The with can make calling functions with enum arguments sexier. So instead of: auto d = dirEntries(".", SpanMode.breadth);
you could say: auto d = dirEntries(".", breadth); by declaring the function as: dirEntries(string path, with SpanMode mode); // "with" does the trick At first glance, such feature seems lesser. But I noticed that for fear of redundancy programmers resort to cluttering the global scope with constants, or even worse - using bool to offer only two options. So when the API needs an equivalent of GUI's dropdown list, the with encourages the right way - enums. The with can also tidy up numerous imports: import extremely.long.package.name.module1; import extremely.long.package.name.module2; import extremely.long.package.name.module3; import renamed = extremely.long.package.name.module4; import extremely.long.package.name.module5 : selective; ... could be compressed to: import with (extremely.long.package.name) { module1; module2; module3; renamed = module4; module5 : selective; ... } or even: import with (extremely.long.package.name) module1, module2, module3, renamed = module4, module5 : selective, ... ; What do you say? Tomek