fixed polymorphic inference scheme