Should there be a way, in D, to create a variable that's local to both a thread and a class instance? For example: class Foo { __thread uint num; } num would basically be a reference to thread-local storage, with a new one created for every instance of Foo. Is there a (non-hacky) way to do this already?