renamed ducktyping to dynamic