The following short program:
module Main where
Just foo = undefined
Causes an error message:
hmake -hat hatd.hs
hat-trans hatd.hs
Wrote Hat/hatd.hs
/usr/bin/haskell-compiler -c -package hat -o Hat/hatd.o
Hat/hatd.hs
Hat/hatd.hs:10:10: Qualified variable in pattern: T.mkRoot
with hat 2.0.4 and ghc 6.4-2 (debian)
To be honest, I'm not sure if this is your problem, because I'm not sure what the above program is supposed to do, but it gives a compile error when not using hat too.
In general, if you give hat a program that produces a compile error, then compiling with hat on will give you a more cryptic one. I wonder if this is a place we can improve error messages by compiling without hat and spewing out that error automatically.