[Haskell] A few newbie questions about tracing/debugging and order of execution