class Base of T: pass class Derived of T(Base of T): override def Equals(o): return GetType() == o.GetType()