Another thing Haskell lacks--or does not need--is program order. The set of definitions
that make up a program can occur in any order whatsoever. This might seem strange
when definitions look a great deal like assignments in imperative languages. For
example, this might seem like a problem: