expression problem - revise haskell bit