ducktyping complete