Writing .hi-boot files is a pain, and "the works" (allegedly) containing a compiler which does mutually recursive modules properly seem permanently gummed up. Therefore may I suggest a new .hs-boot suffix which compiles Haskell to produce just a .hi-boot file? I already have two .hs-boot files (except I call them .boot.hs to make ghc happy) and they seem to work reasonably well.