more duck-typing