ghc vs ghci: why can't ghci do everything ghc can do?