> I think the report has it about right.
>
> * A conforming implementation of Haskell 1.4 must support mutually recursive
> modules. That is, a collection of individually legal mutually recursive
> modules is a legal Haskell program.
>
> * The Report recognises that implementations available in the forseeeable
> future are likely to require the programmer to supply extra type
> information to support separate compilation of mutually recursive modules.
> For example, the implementation may require exported functions to be
> equipped with type signatures.
Why muddle implementation with language design? Pick a design that
we know everyone can implement -- e.g., exported functions must have
type declarations -- and stick to that. When the state of implementations
improve, the specification for Haskell 1.5 can change accordingly. -- P