diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -1,3 +1,8 @@
+5.1.2 [2019.08.27]
+------------------
+* Implement more performant versions of `some` and `many` in the `Alternative`
+  instance for the final `Alt` encoding.
+
 5.1.1 [2019.05.02]
 ------------------
 * Allow building with `base-4.13` (GHC 8.8).
diff --git a/free.cabal b/free.cabal
--- a/free.cabal
+++ b/free.cabal
@@ -1,6 +1,6 @@
 name:          free
 category:      Control, Monads
-version:       5.1.1
+version:       5.1.2
 license:       BSD3
 cabal-version: 1.18
 license-file:  LICENSE
diff --git a/src/Control/Alternative/Free/Final.hs b/src/Control/Alternative/Free/Final.hs
--- a/src/Control/Alternative/Free/Final.hs
+++ b/src/Control/Alternative/Free/Final.hs
@@ -48,6 +48,8 @@
 instance Alternative (Alt f) where
   empty = Alt (\_ -> empty)
   Alt x <|> Alt y = Alt (\k -> x k <|> y k)
+  some (Alt x) = Alt $ \k -> some (x k)
+  many (Alt x) = Alt $ \k -> many (x k)
 
 instance Semigroup (Alt f a) where
   (<>) = (<|>)
