type error when compiling an older Haskell program