Haskell version of the Scheme thing.