diff --git a/Control/Category/Linear.hs b/Control/Category/Linear.hs
--- a/Control/Category/Linear.hs
+++ b/Control/Category/Linear.hs
@@ -21,7 +21,8 @@
 
 module Control.Category.Linear (
   -- Interface
-  type P, unit, split, merge, pattern (:::),
+  type P, unit, split, merge,
+  -- pattern (:::),
   encode, decode, (!:),
   -- Helpers for cartesian categories
   ignore, copy, discard
@@ -38,13 +39,14 @@
 
 
 
-pattern (:::) :: forall con (k :: Type -> Type -> Type) r a b.
-                   (Obj k r, Obj k a, Obj k b, Monoidal k, con (), (forall α β. (con α, con β) => con (α,β)), con ~ Obj k) =>
-                   P k r a ⊸ P k r b ⊸ P k r (a, b)
-pattern x ::: y <- (split @con -> (x,y))
-  where x ::: y = merge @con (x,y)
+-- Linear patterns don't really work, and some version of GHC do not accept this declaration at all. Disabled for now.
+-- pattern (:::) :: forall con (k :: Type -> Type -> Type) r a b.
+--                    (Obj k r, Obj k a, Obj k b, Monoidal k, con (), (forall α β. (con α, con β) => con (α,β)), con ~ Obj k) =>
+--                    P k r a ⊸ P k r b ⊸ P k r (a, b)
+-- pattern x ::: y <- (split @con -> (x,y))
+--   where x ::: y = merge @con (x,y)
 
-infixr ::: -- GHC does not always see this change. rm -r dist/dante. T_T (ghc 8.8.4)
+-- infixr ::: -- GHC does not always see this change. rm -r dist/dante. T_T (ghc 8.8.4)
 
 
 type P :: (Type -> Type -> Type) -> Type -> Type -> Type
diff --git a/linear-smc.cabal b/linear-smc.cabal
--- a/linear-smc.cabal
+++ b/linear-smc.cabal
@@ -1,6 +1,6 @@
 Cabal-Version:  3.0
 name:           linear-smc
-version:        1.0.1
+version:        1.1.1
 category:       control
 synopsis:       Build SMC morphisms using linear types
 description:
