Think of haskell functions as regular \emph{mathematical} functions.
\slidep
\vspace{\baselineskip}
\begin{center}
\includegraphics*[scale=0.6]{function-machine.png}
\end{center}
\begin{itemizep}
\item does this function write to the hard drive?
\item does the output depend on anything else except the input (e.g. time, environment, ...)?
\end{itemizep}
\slidep
\vspace{\baselineskip}
It's all about \emph{input} and \emph{output} of functions! And that's it. Nothing else to worry about.