Practical Verification of Concurrent Haskell Programs