tracing Haskell programs