\begin{itemize}
\item how to write polymorphic data types and functions
\item how you inline functions
\item what currying is and why we need it in haskell
\item how you compose functions
\item how to abstract out recursion patterns
\end{itemize}