duck typing is good, checking for classes is bad