原です。

>ごとけんです

>そうなんですが、台に包含関係があるような集合間で代数をつくる
>には、coercing ではどうしても書きづらく、なんらかの型ベース
>の method signature が必要だと僕は考えています。

同感です。っていうか、数学的にはcoercingなんか必要ない。(^^;

ちょっと話題がそれるかもしれないけれど、代数系や台集合の包含関係
をクラスや継承関係にマップすることも、無理にしなくてもいいのでは
ないでしょうか。変換関数さえあればいい。

今回は、PolynomialをArrayのサブクラスに、MPolynomialをHashの
サブクラスにしてしまったのは、そういう気持ちもあります。ちょっと
やりすぎかなという気もしていて、後退しようかなと考えてもいますが。
(^^;;