List of a
One or zero of a
A randomly chosen a
A function that takes an s and returns an a and another s i.e. s -> (s, a) aka "a stateful computation returning a) A routine that reads a file and returns an a.
In each case, the point is that you can a) write code that acts as if the k isn't there and hence b) re-use code between all of these things without changing it.
I'm going to take the opportunity to recommend http://www.cis.upenn.edu/~cis194/spring13/. Do all of the exercises, even the really basic ones. What you learn by the end will blow your mind.
What it won't do is make you fluent in modern Haskell. That would be a much longer course.
However, I guarantee that if you work through it you will have some great "Wow" moments.