update duck-typing