passes specs using polymorphic