Multiplication is even more elegant. Consider that applying an arbitrary function s to a base value z *m × n* times is a matter of applying s to z *n* times, and then doing that again, and again, and so on...for *m* repetitions. In other words, it's a matter of applying the function (\z. n s z) to z *m* times. In other words, *m × n* can be represented as:
-<pre><code> \s z. m (\z. n s z) z
-~~> \s z. m n s z</code></pre>
+ \s z. m (\z. n s z) z
-which eta-reduces to:
+which, doing an eta-reduction and permitting ourselves the `∘` notation, is:
+
+<pre><code>\s z. (m ∘ n) s z</code></pre>
+
+and some more eta-reduction gives us:
+
+<pre><code>m ∘ n</code></pre>
- m n
Isn't that nice?