Error propagation in Haskell calculations