##足し算はすでにできているとのことですが、単純な例を出したかったので…同じようにかけ算もできるのではないでしょうか
#もっとも導出システムを ghc に任せてしまっているので、「自分で導出システムを書きたい」という目的には合致しないですね
#関数従属性の再発明は大変でしょうし :-) 落としどころが気になります
#個人的には Show のインスタンスにするのが無理筋だとおもっています。ルールを書くだけなら Haskell で書けるでしょう
#型パラメータをふんだんに使いたかったら依存型が必要になるかもしれませんね
#