> **What**
Given the following code:
```vb
Dim x As Something
Dim y As IOtherThing
Set x = New Something
Set y = x 'Uh oh, SomeThing doesn't implement IOtherThing
```
It will compile but blow up with a runtime error. In this context, the `Something` is a VBA class, and there is absolutely no reason why we can't statically infer whether the cast is valid or not, since a class would have to have a `Implements IOtherThing` in its definition.
**Why**
As codebase grows and number