Tango für D2 gibt es schon etwas länger:
http://forum.dlang.org/thread/jgagrl$1ta5$1@digitalmars.com
Aber ich weiß nicht warum du nicht einfach Phobos nutzt, mir gefällt Phobos persönlich besser.
Und ja das weiß ich lese und schreibe dort auch hin und wieder, aber ich weiß nicht wieso es dermaßen viele Probleme damit gibt, ich hatte bisher nicht sonderlich viele und programmiere zu 90% mit D.
Das einzige inkonsistente was mich stört wäre, dass const Object foo() { } meinst, dass die Methode const ist und ein Object zurückgibt und const(Object) foo() {} meint, das Return ist const aber die Methode ansich nicht, während ref Object foo() { } direkt meint, dass der Return Typ eine Referenz ist.
Ansonsten stört mich, genau wie in Java und C#, nur, dass es kein Keyword oder anderes gibt, um sicherzustellen, dass ein Objekt bei Übergabe als Parameter wirklich ein Objekt ist und nicht null. Das löst C++ etwas besser, aber auch dort kann man leeren Speicher übergeben. Aber was das Problem angeht hab ich mir halt einfach eine eigene Lösung geschrieben. D Templates und mixins sei Dank.