diff --git a/src/Unbound/Generics/Unify.hs b/src/Unbound/Generics/Unify.hs
--- a/src/Unbound/Generics/Unify.hs
+++ b/src/Unbound/Generics/Unify.hs
@@ -13,7 +13,7 @@
   -- ** Including fresh creation
   UnificationFreshM, runUnificationFresh,
   -- ** As a monad transformer
-  UnificationMT, runUnificationT,
+  UnificationMT(..), runUnificationT,
   -- * Generic methods
   GUnify(..)
 ) where
@@ -79,6 +79,9 @@
 instance (Monad m) => Unification t (UnificationMT t m) where
   currentSubst = UnificationMT $ get
   recordSubst v t = UnificationMT $ modify (insert v t)
+
+instance (Fresh m) => Fresh (UnificationMT t m) where
+  fresh = UnificationMT . fresh
 
 -- | Tries to unify two terms, giving back a common term, or a unification error.
 --
diff --git a/unbound-generics-unify.cabal b/unbound-generics-unify.cabal
--- a/unbound-generics-unify.cabal
+++ b/unbound-generics-unify.cabal
@@ -1,6 +1,6 @@
 cabal-version:      3.0
 name:               unbound-generics-unify
-version:            0.1.0.0
+version:            0.1.1
 synopsis:           Unification based on unbound-generics
 -- description:
 license:            BSD-3-Clause
