This is what actually makes haskell such a fine functional language. You might have noticed that I tried hard to not show type signatures of functions that have more than one argument. Well, that's because we have to dig a little deeper to explain what comes next:
\pause
\begin{haskellcode}
@@ -332,8 +352,14 @@ So... now that we know what currying is, let's summarize:
So why did we just bother so long with explaining currying? It's because it's very important for function composition. Which again is also one of the fundamental concepts of functional programming.
\vspace{\baselineskip}
\\
@@ -410,8 +436,13 @@ That sounds complicated at first, because it counts for the whole composition ch