The signature shown at the top of the code was taken from the types
inferred by the Haskell interpreter. This example shows direct
recursion in Haskell and the use of an if-then-else construct.
Run it, for example, like this: