diff --git a/src/Language/Syntactic/Functional.hs b/src/Language/Syntactic/Functional.hs
--- a/src/Language/Syntactic/Functional.hs
+++ b/src/Language/Syntactic/Functional.hs
@@ -490,7 +490,7 @@
 instance Monad (Remon dom m)
   where
     return a = Remon $ return a
-    ma >>= f = Remon $ unRemon ma >>= unRemon . f
+    ma >>= f = Remon $ unRemon ma >>= \a -> unRemon (f a)
 
 -- | One-layer desugaring of monadic actions
 desugarMonad
@@ -499,7 +499,7 @@
        , TYPEABLE m
        )
     => Remon sym m (ASTF sym a) -> ASTF sym (m a)
-desugarMonad = flip runCont (sugarSym Return) . unRemon
+desugarMonad (Remon m) = flip runCont (sugarSym Return) m
 
 -- | One-layer desugaring of monadic actions
 desugarMonadTyped
@@ -509,7 +509,7 @@
        , TYPEABLE m
        )
     => Remon sym m (ASTF sym a) -> ASTF sym (m a)
-desugarMonadTyped = flip runCont (sugarSymTyped Return) . unRemon
+desugarMonadTyped (Remon m) = flip runCont (sugarSymTyped Return) m
 
 
 
diff --git a/syntactic.cabal b/syntactic.cabal
--- a/syntactic.cabal
+++ b/syntactic.cabal
@@ -1,5 +1,5 @@
 Name:           syntactic
-Version:        3.8.2
+Version:        3.8.3
 Synopsis:       Generic representation and manipulation of abstract syntax
 Description:    The library provides a generic representation of type-indexed abstract syntax trees
                 (or indexed data types in general). It also permits the definition of open syntax
@@ -39,7 +39,7 @@
 Stability:      experimental
 Category:       Language
 Build-type:     Simple
-Cabal-version:  >=1.16
+Cabal-version:  1.16
 
 extra-source-files:
   CONTRIBUTORS
@@ -83,8 +83,8 @@
       Language.Syntactic.Sugar.TupleTyped
 
   build-depends:
-    base >= 4.6 && < 4.15,
-    constraints < 0.13,
+    base >= 4.6 && < 4.16,
+    constraints < 0.14,
     containers < 0.7,
     data-hash < 0.3,
     deepseq < 1.5,
