掛け算演算子はこんな感じ。
(ユニコード文字の記号も演算子に使える。Haskellの掛け算演算子(*)と被らないので、そのまま動く)

(×) a 0 = 0
(×) a b = a + (×) a (b - 1)

2 × 3
= 2 + (×) 2 (3 - 1)
= 2 + 2 + (×) 2 (2 - 1)
= 2 + 2 + 2 + (×) 2 (1 - 1)
= 2 + 2 + 2 + (×) 2 0
= 2 + 2 + 2 + 0 ((×) a 0 = 0により、0が返る)
= 6