diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Revision history for array-chunks
 
+## 0.1.3.0 -- 2021-02-04
+
+* Add `nonupleton`, `decupleton`, `undecupleton`, `duodecupleton`.
+
 ## 0.1.2.0 -- 2020-11-18
 
 * Add `index`.
diff --git a/array-chunks.cabal b/array-chunks.cabal
--- a/array-chunks.cabal
+++ b/array-chunks.cabal
@@ -1,6 +1,6 @@
 cabal-version: 2.2
 name: array-chunks
-version: 0.1.2.0
+version: 0.1.3.0
 synopsis: Lists of chunks
 description:
   Lists of chunks. This is similar to the Cons List provided
diff --git a/src/Data/Chunks.hs b/src/Data/Chunks.hs
--- a/src/Data/Chunks.hs
+++ b/src/Data/Chunks.hs
@@ -26,6 +26,10 @@
   , sextupleton
   , septupleton
   , octupleton
+  , nonupleton
+  , decupleton
+  , undecupleton
+  , duodecupleton
   ) where
 
 import Prelude hiding (reverse,concat,null)
@@ -383,5 +387,79 @@
       PM.writeSmallArray dst 5 f
       PM.writeSmallArray dst 6 g
       PM.writeSmallArray dst 7 h
+      PM.unsafeFreezeSmallArray dst
+  ) ChunksNil
+
+-- | Create chunks with 9 elements.
+nonupleton :: a -> a -> a -> a -> a -> a -> a -> a -> a -> Chunks a
+{-# inline nonupleton #-}
+nonupleton a b c d e f g h i = ChunksCons
+  ( runSmallArrayST $ do
+      dst <- PM.newSmallArray 9 a
+      PM.writeSmallArray dst 1 b
+      PM.writeSmallArray dst 2 c
+      PM.writeSmallArray dst 3 d
+      PM.writeSmallArray dst 4 e
+      PM.writeSmallArray dst 5 f
+      PM.writeSmallArray dst 6 g
+      PM.writeSmallArray dst 7 h
+      PM.writeSmallArray dst 8 i
+      PM.unsafeFreezeSmallArray dst
+  ) ChunksNil
+
+-- | Create chunks with 10 elements.
+decupleton :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Chunks a
+{-# inline decupleton #-}
+decupleton a b c d e f g h i j = ChunksCons
+  ( runSmallArrayST $ do
+      dst <- PM.newSmallArray 10 a
+      PM.writeSmallArray dst 1 b
+      PM.writeSmallArray dst 2 c
+      PM.writeSmallArray dst 3 d
+      PM.writeSmallArray dst 4 e
+      PM.writeSmallArray dst 5 f
+      PM.writeSmallArray dst 6 g
+      PM.writeSmallArray dst 7 h
+      PM.writeSmallArray dst 8 i
+      PM.writeSmallArray dst 9 j
+      PM.unsafeFreezeSmallArray dst
+  ) ChunksNil
+
+-- | Create chunks with 11 elements.
+undecupleton :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Chunks a
+{-# inline undecupleton #-}
+undecupleton a b c d e f g h i j k = ChunksCons
+  ( runSmallArrayST $ do
+      dst <- PM.newSmallArray 11 a
+      PM.writeSmallArray dst 1 b
+      PM.writeSmallArray dst 2 c
+      PM.writeSmallArray dst 3 d
+      PM.writeSmallArray dst 4 e
+      PM.writeSmallArray dst 5 f
+      PM.writeSmallArray dst 6 g
+      PM.writeSmallArray dst 7 h
+      PM.writeSmallArray dst 8 i
+      PM.writeSmallArray dst 9 j
+      PM.writeSmallArray dst 10 k
+      PM.unsafeFreezeSmallArray dst
+  ) ChunksNil
+
+-- | Create chunks with 12 elements.
+duodecupleton :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Chunks a
+{-# inline duodecupleton #-}
+duodecupleton a b c d e f g h i j k l = ChunksCons
+  ( runSmallArrayST $ do
+      dst <- PM.newSmallArray 12 a
+      PM.writeSmallArray dst 1 b
+      PM.writeSmallArray dst 2 c
+      PM.writeSmallArray dst 3 d
+      PM.writeSmallArray dst 4 e
+      PM.writeSmallArray dst 5 f
+      PM.writeSmallArray dst 6 g
+      PM.writeSmallArray dst 7 h
+      PM.writeSmallArray dst 8 i
+      PM.writeSmallArray dst 9 j
+      PM.writeSmallArray dst 10 k
+      PM.writeSmallArray dst 11 l
       PM.unsafeFreezeSmallArray dst
   ) ChunksNil
