Is that intentional? Perhaps because of COM and C++ interfaces?
Yes, exactly. COM and C++ things won't necessarily have a D TypeInfo available and since interfaces can be them, it can't be sure.
What I do there is to just cast the interface to Object. Then you should check for null to cover those cases, then you can typeid or classinfo it.
