diff --git a/library/StrictList.hs b/library/StrictList.hs
--- a/library/StrictList.hs
+++ b/library/StrictList.hs
@@ -191,6 +191,26 @@
   in buildPrefix Nil
 
 {-|
+An opposite version of `span`. I.e.,
+
+>break predicate = span (not . predicate)
+-}
+break :: (a -> Bool) -> List a -> (List a, List a)
+break predicate = first reverse . breakReversed predicate
+
+{-|
+Same as `break`, only with the first list in reverse order.
+-}
+breakReversed :: (a -> Bool) -> List a -> (List a, List a)
+breakReversed predicate = let
+  buildPrefix !prefix = \ case
+    Cons head tail -> if predicate head
+      then (prefix, Cons head tail)
+      else buildPrefix (Cons head prefix) tail
+    _ -> (prefix, Nil)
+  in buildPrefix Nil
+
+{-|
 Same as @(`takeWhile` predicate . `reverse`)@.
 E.g., 
 
diff --git a/strict-list.cabal b/strict-list.cabal
--- a/strict-list.cabal
+++ b/strict-list.cabal
@@ -1,5 +1,5 @@
 name: strict-list
-version: 0.1.2
+version: 0.1.3
 synopsis: Strict linked list
 description:
   Implementation of strict linked list with care taken about stack.
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -1,6 +1,6 @@
 module Main where
 
-import Prelude hiding (span, choose, reverse, toList, List, filter, take, drop, takeWhile, dropWhile, head, last, tail, init)
+import Prelude hiding (break, span, choose, reverse, toList, List, filter, take, drop, takeWhile, dropWhile, head, last, tail, init)
 import GHC.Exts as Exports (IsList(..))
 import Test.QuickCheck.Instances
 import Test.Tasty
@@ -49,6 +49,9 @@
     ,
     testProperty "span" $ forAll ((,) <$> predicateGen <*> strictAndLazyListGen) $ \ (predicate, (strict, lazy)) ->
     bimap toList toList (span predicate strict) === Lazy.span predicate lazy
+    ,
+    testProperty "break" $ forAll ((,) <$> predicateGen <*> strictAndLazyListGen) $ \ (predicate, (strict, lazy)) ->
+    bimap toList toList (break predicate strict) === Lazy.break predicate lazy
     ,
     testProperty "takeWhileFromEnding" $ forAll ((,) <$> predicateGen <*> strictAndLazyListGen) $ \ (predicate, (strict, lazy)) ->
     toList (takeWhileFromEnding predicate strict) === Lazy.takeWhile predicate (Lazy.reverse lazy)
