balanced polymorphism