Exercise 3.2
Exercise 3.3
Exercise 3.4
Exercise 3.5

`case Cons(h, t) if f(h) =>`
  -> introduces the guard case
Exercise 3.6

What is this `init2` madness???