と入力すると、「2」が表示されます。しかし、問題は、show 2showが満たすものshow :: Show a => a -> Stringであり、2多形性であるということです。show 2::Intshow 2::Integershow 2::Intshow 2::Integershow 2
(A a)=>show aコンパイラが、Aの現在のすべてのインスタンスがShowであり、同じ結果をもたらすshow a::X場合(A a)=>show a、指定する必要がなく、Aの現在のすべてのインスタンスがShowである場合、異なる結果をもたらす場合を知るのに十分なインテリジェントであると仮定することを拒否します。を指定する必要がありますshow a::X。