Как говорится в вопросе, всегда ли
type(obj) == obj.__class__
верно?
Или могут быть случаи, когда это не так?