I use the following script from vim to infer top level type declarations for me. I've found it particularly useful for understanding others' code:
<delurk>
On the topic of coding Haskell with Vim is there an indentation plugin
for Haskell available? Google hasn't found one for me and none is mentioned on the Haskell wiki.