First, I just want to say how much I'm enjoying TM2. However, I'm seeing a problem with the indentation, and while I originally thought it was the Haskell bundle, I think it's really just TM2 being overly aggressive in correcting indentation.
If I tab in or delete indentation before typing anything on a new line, TM2 undoes my change in indentation when I start typing. if I start typing first, then I can change it with cmd-[ or cmd-], but cmd-[ or cmd-] doesn't do anything until I've typed something on the line.
So, say I have the following:
convert acc x
and I hit return after the x, TM2 puts me in column 0. If I hit tab to indent because I'm going to type a guard, I'm now at column 4. But as soon as I start typing the guard (which begins with a | character) I'm outdented to column 0 again. I can, of course, correct it with cmd-].
Also, if I simply paste some code in with the cursor in column zero, TM2 indents everything an extra tab. If I select the below and paste it into column 0 of a file whose language mode is set to Haskell, it all gets indented an extra tab.
myInt (x:xs) | x == '-' = -1 * myInt xs | otherwise = foldl convert 0 (x:xs) where convert acc x | x `elem` ['0'..'9'] = 10 * acc + digitToInt x | otherwise = error ("bad input: not an int - " ++ [x])