Very sad, i thougth that was possible.
As regards to "instanceof"
Try this code:
unittest {
	class A {
		mixin TRef!(typeof(this));
	}
	class B : A { }
	class C : B { }
	A a1 = new B();
	A a2 = new C();
	assert(instanceof!(A)(a1) == false);
	assert(instanceof!(B)(a1));
	assert(instanceof!(C)(a1) == false);
}
with my instanceof and then with your version.