[Haskell-cafe] formal treatment of module dependencies