> That said, isn't there a way to statically know that an instance of "some interface" simply can't be cast to some other interface/class (eg: "Object")?

I think the mechanism being used in the pull is about the cleanest way you can do it. Note that any D interface should implicitly cast to Object, because it's impossible for a non-D object to implement a D interface. This just leaves the outliers (IUnknown and extern(C++))