diff --git a/Data/Array/Base.hs b/Data/Array/Base.hs
--- a/Data/Array/Base.hs
+++ b/Data/Array/Base.hs
@@ -278,8 +278,7 @@
 -- | Returns a list of all the elements of an array, in the same order
 -- as their indices.
 elems :: (IArray a e, Ix i) => a i e -> [e]
-elems arr = case bounds arr of
-    (_l, _u) -> [unsafeAt arr i | i <- [0 .. numElements arr - 1]]
+elems arr = [unsafeAt arr i | i <- [0 .. numElements arr - 1]]
 
 {-# INLINE assocs #-}
 -- | Returns the contents of an array as a list of associations.
diff --git a/Data/Array/IO/Safe.hs b/Data/Array/IO/Safe.hs
--- a/Data/Array/IO/Safe.hs
+++ b/Data/Array/IO/Safe.hs
@@ -14,7 +14,7 @@
 -- .
 -- Safe API only of "Data.Array.IO".
 --
--- /Since: 0.4.0.0/
+-- @since 0.4.0.0
 -----------------------------------------------------------------------------
 
 module Data.Array.IO.Safe (
diff --git a/Data/Array/MArray/Safe.hs b/Data/Array/MArray/Safe.hs
--- a/Data/Array/MArray/Safe.hs
+++ b/Data/Array/MArray/Safe.hs
@@ -15,7 +15,7 @@
 -- .
 -- Safe API only of "Data.Array.MArray".
 --
--- /Since: 0.4.0.0/
+-- @since 0.4.0.0
 -----------------------------------------------------------------------------
 
 module Data.Array.MArray.Safe (
diff --git a/Data/Array/ST/Safe.hs b/Data/Array/ST/Safe.hs
--- a/Data/Array/ST/Safe.hs
+++ b/Data/Array/ST/Safe.hs
@@ -13,7 +13,7 @@
 --
 -- Safe API only of "Data.Array.ST".
 --
--- /Since: 0.4.0.0/
+-- @since 0.4.0.0
 -----------------------------------------------------------------------------
 
 module Data.Array.ST.Safe (
diff --git a/Data/Array/Storable/Internals.hs b/Data/Array/Storable/Internals.hs
--- a/Data/Array/Storable/Internals.hs
+++ b/Data/Array/Storable/Internals.hs
@@ -15,7 +15,7 @@
 --
 -- Actual implementation of "Data.Array.Storable".
 --
--- /Since: 0.4.0.0/
+-- @since 0.4.0.0
 -----------------------------------------------------------------------------
 
 module Data.Array.Storable.Internals (
diff --git a/Data/Array/Storable/Safe.hs b/Data/Array/Storable/Safe.hs
--- a/Data/Array/Storable/Safe.hs
+++ b/Data/Array/Storable/Safe.hs
@@ -20,7 +20,7 @@
 --
 -- Safe API only of "Data.Array.Storable".
 --
--- /Since: 0.4.0.0/
+-- @since 0.4.0.0
 -----------------------------------------------------------------------------
 
 module Data.Array.Storable.Safe (
diff --git a/Data/Array/Unsafe.hs b/Data/Array/Unsafe.hs
--- a/Data/Array/Unsafe.hs
+++ b/Data/Array/Unsafe.hs
@@ -11,7 +11,7 @@
 -- Contains the various unsafe operations that can be performed
 -- on arrays.
 --
--- /Since: 0.4.0.0/
+-- @since 0.4.0.0
 -----------------------------------------------------------------------------
 
 module Data.Array.Unsafe (
diff --git a/array.cabal b/array.cabal
--- a/array.cabal
+++ b/array.cabal
@@ -1,5 +1,5 @@
 name:          array
-version:       0.5.1.0
+version:       0.5.1.1
 -- NOTE: Don't forget to update ./changelog.md
 license:       BSD3
 license-file:  LICENSE
@@ -37,7 +37,7 @@
       Trustworthy,
       UnboxedTuples,
       UnliftedFFITypes
-  build-depends: base >= 4.5 && < 4.9
+  build-depends: base >= 4.5 && < 4.10
   ghc-options: -Wall
   exposed-modules:
       Data.Array
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,11 @@
 # Changelog for [`array` package](http://hackage.haskell.org/package/array)
 
+## 0.5.1.1  *Apr 2016*
+
+  * Bundled with GHC 8.0.1
+  * Use `@since` syntax in Haddock comments
+  * Don't needlessly call `bounds` in `Data.Array.Base.elems` (#10014)
+
 ## 0.5.1.0  *Mar 2015*
 
   * Bundled with GHC 7.10.1
