Here is a simple way of adding __traits based runtime reflection to D classes: http://mainia.de/classinfoex.d (requires DMD 2.004) It does not increase the class instance size. All extra info is stored statically. See the doc-comment for details.