diff --git a/gpu-vulkan.cabal b/gpu-vulkan.cabal
--- a/gpu-vulkan.cabal
+++ b/gpu-vulkan.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           gpu-vulkan
-version:        0.1.0.137
+version:        0.1.0.138
 synopsis:       Vulkan library
 description:    Please see the README on GitHub at <https://github.com/YoshikuniJujo/gpu-vulkan#readme>
 category:       GPU
diff --git a/src/Gpu/Vulkan/Object.hs b/src/Gpu/Vulkan/Object.hs
--- a/src/Gpu/Vulkan/Object.hs
+++ b/src/Gpu/Vulkan/Object.hs
@@ -44,6 +44,8 @@
 	pattern LengthAtom,
 	pattern LengthList,
 	pattern LengthImage,
+	lengthImageRow, lengthImageWidth, lengthImageHeight, lengthImageDepth,
+
 	pattern LengthDynAtom,
 	pattern LengthDynList,
 	pattern LengthDynImage,
@@ -164,8 +166,11 @@
 pattern LengthImage ::
 	Device.M.Size -> Device.M.Size -> Device.M.Size -> Device.M.Size ->
 	Length ('Static_ (K.ImageMaybeName algn v mnm))
-pattern LengthImage kr kw kh kd <- (LengthStatic (K.LengthImage kr kw kh kd))
-	where LengthImage kr kw kh kd = LengthStatic (K.LengthImage kr kw kh kd)
+pattern LengthImage {
+	lengthImageRow, lengthImageWidth,
+	lengthImageHeight, lengthImageDepth } = LengthStatic (K.LengthImage
+		lengthImageRow lengthImageWidth
+		lengthImageHeight lengthImageDepth)
 
 pattern LengthDynAtom :: Length ('Dynamic n (K.Atom algn v nm))
 pattern LengthDynAtom <- LengthDynamic K.LengthAtom where
