diff --git a/Data/List/NonEmpty.hs b/Data/List/NonEmpty.hs
--- a/Data/List/NonEmpty.hs
+++ b/Data/List/NonEmpty.hs
@@ -6,7 +6,6 @@
                            -- * Accessors
                            neHead,
                            neTail,
-                           fromNonEmpty,
                            -- * Constructors
                            nonEmpty,
                            (|:),
@@ -83,6 +82,8 @@
 -- | Conversion to ordinary list (like Data.Foldable.toList, but O(1)).
 fromNonEmpty :: NonEmpty a -> [a]
 fromNonEmpty (NonEmpty x y) = x : y
+
+{-# RULES "toList/fromNonEmpty" toList = fromNonEmpty #-}
 
 -- | Constructs a non-empty list with the given head and tail.
 nonEmpty :: a -- ^ The head.
diff --git a/NonEmptyList.cabal b/NonEmptyList.cabal
--- a/NonEmptyList.cabal
+++ b/NonEmptyList.cabal
@@ -1,5 +1,5 @@
 Name:                NonEmptyList
-Version:             0.0.3
+Version:             0.0.4
 License:             BSD3
 License-File:        LICENSE
 Synopsis:            A list with a length of at least one.
