Added check methods and polymorphic type comparison