We can generate the (infinite) list of all natural numbers using the Prelude's
iterate function: it generates a list by increasing applications
of some function to some initial "seed" value. Then we can use the take function 
and a pattern definition (essentially a list of names defined in one step) to 
define convenient names for the first handful of naturals.
We can also save some work by having Haskell derive the Eq and
Ord instances all by itself: the definitions derived will be equivalent
to the ones we made by hand.
|  |  | 
iterate function from the Prelude has type (a -> a) -> a -> [a];
		its definition looks like this:
		iterate f x = x : iterate f (f x)
nats 
		(or be ready to hit that stop button)