counter updater for polymorphic