是基于这句格言：「如果它摇摇摆摆的走法很像鸭子，而且它的嘎嘎叫声也像鸭子，那它就是一只鸭子！」
显示宣告和隐式暗示.许多静态型别系统，如C和Java，要求要宣告型别：编写者必须以指定型别明确地关联到每一个变数上。其它的，如Haskell，则进行型别推断：编译器根据编写者如何运用这些变数，以草拟出关于这个变数的型别的结论。例如，给定一个函式"f（x,y）"，它将"x"和"y"加起来，编译器可以推断出"x"和"y"必须是数字——因为加法仅定义给数字。因此，任何在其它地方以非数值型别（如