Let's say you integrate D with a scripting language where you can add methods to an object at arbitrary times. Instead of writing:scriptObj.invokeMethod("methodname", arguments);
I thought that would be the obvious application, and decided to mention the haXe instead :-)
Guess it's only obvious for someone used to dynamic languages...