diff --git a/hydrogen-prelude.cabal b/hydrogen-prelude.cabal
--- a/hydrogen-prelude.cabal
+++ b/hydrogen-prelude.cabal
@@ -1,5 +1,5 @@
 name:                 hydrogen-prelude
-version:              0.5
+version:              0.6
 homepage:             https://github.com/scravy/hydrogen-prelude
 synopsis:             Hydrogen Prelude
 license:              BSD3
@@ -22,6 +22,7 @@
                       , Hydrogen.Prelude.System
   build-depends:      base ==4.7.*
                       , array ==0.5.*
+                      , cereal ==0.4.*
                       , containers ==0.5.*
                       , directory ==1.2.*
                       , filepath ==1.3.*
@@ -31,6 +32,7 @@
                       , random ==1.0.*
                       , regex-base ==0.93.*
                       , regex-tdfa ==1.2.*
+                      , strict ==0.3.*
                       , time ==1.4.*
                       , transformers ==0.3.*
                       , uuid ==1.3.*
@@ -42,7 +44,12 @@
                       , FlexibleContexts
                       , GADTs
                       , MultiWayIf
+                      , NegativeLiterals
                       , NoImplicitPrelude
                       , PackageImports
+                      , RankNTypes
                       , ScopedTypeVariables
                       , StandaloneDeriving
+                      , DefaultSignatures
+                      , DeriveFunctor
+                      , DeriveGeneric
diff --git a/src/Hydrogen/Prelude.hs b/src/Hydrogen/Prelude.hs
--- a/src/Hydrogen/Prelude.hs
+++ b/src/Hydrogen/Prelude.hs
@@ -10,6 +10,7 @@
   , module Data.Bool
   , module Data.Char
   , module Data.Complex
+  , module Data.Dynamic
   , module Data.Either
   , module Data.Fixed
   , module Data.Function
@@ -26,6 +27,7 @@
   , module Data.String
   , module Data.Time
   , module Data.Tuple
+  , module Data.Typeable
   , module Data.Word
   , module Hydrogen.Version
   , module Numeric
@@ -71,6 +73,7 @@
 import "base" Data.Bool
 import "base" Data.Char
 import "base" Data.Complex
+import "base" Data.Dynamic
 import "base" Data.Either
 import "base" Data.Fixed
 import "base" Data.Foldable
@@ -108,6 +111,7 @@
 import "base" Data.String
 import "time" Data.Time
 import "base" Data.Tuple
+import "base" Data.Typeable
 import "base" Data.Word
 
 import "base" Numeric
@@ -122,6 +126,11 @@
 
 deriving instance Eq ZonedTime
 
+data ShowBox where
+    ShowBox :: forall a. (Show a) => a -> ShowBox
+
+instance Show ShowBox where
+    show (ShowBox a) = show a
 
 (.|), (.&) :: (a -> Bool) -> (a -> Bool) -> (a -> Bool)
 f .| g = \x -> f x || g x
diff --git a/src/Hydrogen/Prelude/IO.hs b/src/Hydrogen/Prelude/IO.hs
--- a/src/Hydrogen/Prelude/IO.hs
+++ b/src/Hydrogen/Prelude/IO.hs
@@ -6,6 +6,10 @@
   , module Data.IORef
   , module System.IO
   , module System.Timeout
+  , hGetContents'
+  , getContents'
+  , readFile'
+  , interact'
 ) where
 
 import Hydrogen.Prelude
@@ -24,4 +28,17 @@
 import "base" System.IO
 import "base" System.Timeout
 
+import qualified "strict" System.IO.Strict as Strict
+
+hGetContents' :: Handle -> IO String
+hGetContents' = Strict.hGetContents
+
+getContents' :: IO String
+getContents' = Strict.getContents
+
+readFile' :: FilePath -> IO String
+readFile' = Strict.readFile
+
+interact' :: (String -> String) -> IO ()
+interact' = Strict.interact
 
