There is a base class with generics type:
class A<T: AnyObject> {}
and a sub class
class B: A<NSString> {}
and an instance of the sub class:
var b = B()
The question is: Why
b is A // return false
b is A<AnyObject> // return false