rethinking the core libraries (Prelude and more) for Haskell