addressable polymorphism