diff --git a/CHANGES.markdown b/CHANGES.markdown
--- a/CHANGES.markdown
+++ b/CHANGES.markdown
@@ -1,3 +1,11 @@
+## Changes in 0.4.5
+ - Import `Control.Monad.Instances` (which exports `Functor` and `Monad`
+   instances for `(->) r`, and `Functor` instances for `(,) a` and `Either a`)
+   on GHCs before 7.6. This ensures that these instances will always be in
+   scope, and you won't have to import a module which is deprecated on recent
+   GHC releases.
+ - Fix build on GHC HEAD (again)
+
 ## Changes in 0.4.4
  - Fix build on GHC HEAD
 
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2015 Simon Hengel <sol@typeful.net>, João Cristóvão <jmacristovao@gmail.com>, Ryan Scott <ryan.gl.scott@ku.edu>
+Copyright (c) 2015 Simon Hengel <sol@typeful.net>, João Cristóvão <jmacristovao@gmail.com>, Ryan Scott <ryan.gl.scott@gmail.com>
 
 Permission is hereby granted, free of charge, to any person obtaining
 a copy of this software and associated documentation files (the
diff --git a/README.markdown b/README.markdown
--- a/README.markdown
+++ b/README.markdown
@@ -1,4 +1,19 @@
-# `base-orphans` [![Hackage version](https://img.shields.io/hackage/v/base-orphans.svg?style=flat)](http://hackage.haskell.org/package/base-orphans) [![Build Status](https://img.shields.io/travis/haskell-compat/base-orphans.svg?style=flat)](https://travis-ci.org/haskell-compat/base-orphans)
+# `base-orphans`
+[![Hackage](https://img.shields.io/hackage/v/base-orphans.svg)][Hackage: base-orphans]
+[![Hackage Dependencies](https://img.shields.io/hackage-deps/v/base-orphans.svg)](http://packdeps.haskellers.com/reverse/base-orphans)
+[![Haskell Programming Language](https://img.shields.io/badge/language-Haskell-blue.svg)][Haskell.org]
+[![BSD3 License](http://img.shields.io/badge/license-MIT-brightgreen.svg)][tl;dr Legal: MIT]
+[![Build](https://img.shields.io/travis/haskell-compat/base-orphans.svg)](https://travis-ci.org/haskell-compat/base-orphans)
+
+[Hackage: base-orphans]:
+  http://hackage.haskell.org/package/base-orphans
+  "base-orphans package on Hackage"
+[Haskell.org]:
+  http://www.haskell.org
+  "The Haskell Programming Language"
+[tl;dr Legal: MIT]:
+  https://tldrlegal.com/license/mit-license
+  "MIT License"
 
 ## Scope
 
diff --git a/base-orphans.cabal b/base-orphans.cabal
--- a/base-orphans.cabal
+++ b/base-orphans.cabal
@@ -1,71 +1,71 @@
--- This file has been generated from package.yaml by hpack version 0.5.4.
---
--- see: https://github.com/sol/hpack
-
-name:                base-orphans
-version:             0.4.4
-synopsis:            Backwards-compatible orphan instances for base
-homepage:            https://github.com/haskell-compat/base-orphans#readme
-bug-reports:         https://github.com/haskell-compat/base-orphans/issues
-license:             MIT
-license-file:        LICENSE
-author:              Simon Hengel <sol@typeful.net>,
-                     João Cristóvão <jmacristovao@gmail.com>,
-                     Ryan Scott <ryan.gl.scott@ku.edu>
-maintainer:          Simon Hengel <sol@typeful.net>,
-                     João Cristóvão <jmacristovao@gmail.com>,
-                     Ryan Scott <ryan.gl.scott@ku.edu>
-copyright:           (c) 2012-2015 Simon Hengel,
-                     (c) 2014 João Cristóvão,
-                     (c) 2015 Ryan Scott
-category:            Compatibility
-build-type:          Simple
-cabal-version:       >= 1.10
-description:         @base-orphans@ defines orphan instances that mimic instances available in later versions of @base@ to a wider (older) range of compilers. @base-orphans@ does not export anything except the orphan instances themselves and complements @<http://hackage.haskell.org/package/base-compat base-compat>@.
-                     See the README for what instances are covered: <https://github.com/haskell-compat/base-orphans#readme>. See also the <https://github.com/haskell-compat/base-orphans#what-is-not-covered what is not covered> section.
-
-extra-source-files:
-    CHANGES.markdown
-    README.markdown
-
-source-repository head
-  type: git
-  location: https://github.com/haskell-compat/base-orphans
-
-library
-  hs-source-dirs:
-      src
-  ghc-options: -Wall
-  build-depends:
-      base >= 4.3 && < 5
-    , ghc-prim
-  exposed-modules:
-      Data.Orphans
-  other-modules:
-      Data.Orphans.Prelude
-  default-language: Haskell2010
-
-test-suite spec
-  type: exitcode-stdio-1.0
-  main-is: Spec.hs
-  hs-source-dirs:
-      test
-  ghc-options: -Wall
-  build-depends:
-      base >= 4.3 && < 5
-    , base-orphans
-    , hspec == 2.*
-    , QuickCheck
-  other-modules:
-      Control.Applicative.OrphansSpec
-      Control.Exception.OrphansSpec
-      Data.Bits.OrphansSpec
-      Data.Foldable.OrphansSpec
-      Data.Monoid.OrphansSpec
-      Data.Traversable.OrphansSpec
-      Data.Version.OrphansSpec
-      Foreign.Storable.OrphansSpec
-      GHC.Fingerprint.OrphansSpec
-      System.Posix.Types.IntWord
-      System.Posix.Types.OrphansSpec
-  default-language: Haskell2010
+-- This file has been generated from package.yaml by hpack version 0.8.0.
+--
+-- see: https://github.com/sol/hpack
+
+name:                base-orphans
+version:             0.4.5
+synopsis:            Backwards-compatible orphan instances for base
+description:         @base-orphans@ defines orphan instances that mimic instances available in later versions of @base@ to a wider (older) range of compilers. @base-orphans@ does not export anything except the orphan instances themselves and complements @<http://hackage.haskell.org/package/base-compat base-compat>@.
+                     See the README for what instances are covered: <https://github.com/haskell-compat/base-orphans#readme>. See also the <https://github.com/haskell-compat/base-orphans#what-is-not-covered what is not covered> section.
+category:            Compatibility
+homepage:            https://github.com/haskell-compat/base-orphans#readme
+bug-reports:         https://github.com/haskell-compat/base-orphans/issues
+author:              Simon Hengel <sol@typeful.net>,
+                     João Cristóvão <jmacristovao@gmail.com>,
+                     Ryan Scott <ryan.gl.scott@gmail.com>
+maintainer:          Simon Hengel <sol@typeful.net>,
+                     João Cristóvão <jmacristovao@gmail.com>,
+                     Ryan Scott <ryan.gl.scott@gmail.com>
+copyright:           (c) 2012-2015 Simon Hengel,
+                     (c) 2014 João Cristóvão,
+                     (c) 2015 Ryan Scott
+license:             MIT
+license-file:        LICENSE
+build-type:          Simple
+cabal-version:       >= 1.10
+
+extra-source-files:
+  CHANGES.markdown
+  README.markdown
+
+source-repository head
+  type: git
+  location: https://github.com/haskell-compat/base-orphans
+
+library
+  hs-source-dirs:
+    src
+  ghc-options: -Wall
+  build-depends:
+    base >= 4.3 && < 5,
+    ghc-prim
+  exposed-modules:
+    Data.Orphans
+  other-modules:
+    Data.Orphans.Prelude
+  default-language: Haskell2010
+
+test-suite spec
+  type: exitcode-stdio-1.0
+  main-is: Spec.hs
+  hs-source-dirs:
+    test
+  ghc-options: -Wall
+  build-depends:
+    base >= 4.3 && < 5,
+    base-orphans,
+    hspec == 2.*,
+    QuickCheck
+  other-modules:
+    Control.Applicative.OrphansSpec
+    Control.Exception.OrphansSpec
+    Data.Bits.OrphansSpec
+    Data.Foldable.OrphansSpec
+    Data.Monoid.OrphansSpec
+    Data.Traversable.OrphansSpec
+    Data.Version.OrphansSpec
+    Foreign.Storable.OrphansSpec
+    GHC.Fingerprint.OrphansSpec
+    System.Posix.Types.IntWord
+    System.Posix.Types.OrphansSpec
+  default-language: Haskell2010
diff --git a/src/Data/Orphans.hs b/src/Data/Orphans.hs
--- a/src/Data/Orphans.hs
+++ b/src/Data/Orphans.hs
@@ -38,6 +38,10 @@
 import           GHC.Generics as Generics
 #endif
 
+#if !(MIN_VERSION_base(4,6,0))
+import           Control.Monad.Instances ()
+#endif
+
 #if __GLASGOW_HASKELL__ < 710
 import           Control.Exception as Exception
 import           Control.Monad.ST.Lazy as Lazy
diff --git a/src/Data/Orphans/Prelude.hs b/src/Data/Orphans/Prelude.hs
--- a/src/Data/Orphans/Prelude.hs
+++ b/src/Data/Orphans/Prelude.hs
@@ -9,7 +9,11 @@
 
 Note that this module does not export any modules that could introduce name clashes.
 -}
-module Data.Orphans.Prelude (module OrphansPrelude) where
+module Data.Orphans.Prelude
+#if MIN_VERSION_base(4,8,0)
+    () where
+#else
+    (module OrphansPrelude) where
 
 import Control.Applicative as OrphansPrelude
 import Control.Arrow as OrphansPrelude hiding (loop)
@@ -58,39 +62,42 @@
 
 import Unsafe.Coerce as OrphansPrelude (unsafeCoerce)
 
-#if defined(mingw32_HOST_OS)
+# if defined(mingw32_HOST_OS)
 import GHC.IO.Encoding.CodePage.Table as OrphansPrelude
-#endif
+# endif
 
-#if MIN_VERSION_base(4,4,0)
+# if MIN_VERSION_base(4,4,0)
 import Control.Monad.Zip as OrphansPrelude
 import Data.Typeable.Internal as OrphansPrelude
 import GHC.Fingerprint as OrphansPrelude
 import GHC.IO.Encoding.Failure as OrphansPrelude
 
-# if !defined(mingw32_HOST_OS) && !defined(__GHCJS__)
+#  if !defined(mingw32_HOST_OS) && !defined(__GHCJS__)
 import GHC.Event as OrphansPrelude
+#  endif
 # endif
-#endif
 
-#if MIN_VERSION_base(4,5,0)
+# if MIN_VERSION_base(4,5,0)
 import GHC.Stack as OrphansPrelude
 import GHC.Stats as OrphansPrelude
-#endif
+# endif
 
-#if MIN_VERSION_base(4,6,0)
+# if MIN_VERSION_base(4,6,0)
 import GHC.GHCi as OrphansPrelude
-#if !(MIN_VERSION_base(4,8,2))
-import GHC.IP as OrphansPrelude
-#endif
 import GHC.TypeLits as OrphansPrelude
-#endif
+# endif
 
-#if MIN_VERSION_base(4,7,0)
+# if MIN_VERSION_base(4,6,0) && !(MIN_VERSION_base(4,8,2))
+import GHC.IP as OrphansPrelude
+# endif
+
+# if MIN_VERSION_base(4,7,0)
 import Data.Proxy as OrphansPrelude
 import Data.Type.Coercion as OrphansPrelude (Coercion, TestCoercion)
 import Data.Type.Equality as OrphansPrelude ((:~:), TestEquality)
 import Text.Read.Lex as OrphansPrelude (Number)
-#else
+# else
 import Control.Concurrent.SampleVar as OrphansPrelude
+# endif
+
 #endif
diff --git a/test/System/Posix/Types/IntWord.hs b/test/System/Posix/Types/IntWord.hs
--- a/test/System/Posix/Types/IntWord.hs
+++ b/test/System/Posix/Types/IntWord.hs
@@ -1,4 +1,4 @@
-﻿module System.Posix.Types.IntWord (module IntWord) where
+module System.Posix.Types.IntWord (module IntWord) where
 
 import Data.Int  as IntWord
 import Data.Word as IntWord
