diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+# 0.2.0
+
+* Removed of equality constraints on `Zoom` and `Magnify`, as was done in `lens` earlier. This allows instances of `Zoom` and `Magnify` for `FreeT`. (Thanks to @treeowl.)
+
 # 0.1.11.1
 
 * Fixed compilation on GHC 8.4.
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,5 +1,6 @@
 Copyright (c) 2013-2016 Edward Kmett,
-              2015-2016 Artyom
+              2015-2016 Artyom Kazak,
+              2018 Monadfix
 
 All rights reserved.
 
@@ -14,7 +15,7 @@
       disclaimer in the documentation and/or other materials provided
       with the distribution.
 
-    * Neither the name of Artyom nor the names of other
+    * Neither the name of Monadfix nor the names of other
       contributors may be used to endorse or promote products derived
       from this software without specific prior written permission.
 
diff --git a/microlens-mtl.cabal b/microlens-mtl.cabal
--- a/microlens-mtl.cabal
+++ b/microlens-mtl.cabal
@@ -1,31 +1,39 @@
 name:                microlens-mtl
-version:             0.1.11.1
+version:             0.2.0
 synopsis:            microlens support for Reader/Writer/State from mtl
 description:
   This package contains functions (like 'view' or '+=') which work on 'MonadReader', 'MonadWriter', and 'MonadState' from the mtl package.
   .
-  This package is a part of the <http://hackage.haskell.org/package/microlens microlens> family; see the readme <https://github.com/aelve/microlens#readme on Github>.
+  This package is a part of the <http://hackage.haskell.org/package/microlens microlens> family; see the readme <https://github.com/monadfix/microlens#readme on Github>.
 license:             BSD3
 license-file:        LICENSE
-author:              Edward Kmett, Artyom
-maintainer:          Artyom <yom@artyom.me>
-homepage:            http://github.com/aelve/microlens
-bug-reports:         http://github.com/aelve/microlens/issues
--- copyright:           
+author:              Edward Kmett, Artyom Kazak
+maintainer:          Monadfix <hi@monadfix.io>
+homepage:            http://github.com/monadfix/microlens
+bug-reports:         http://github.com/monadfix/microlens/issues
+-- copyright:
 category:            Data, Lenses
 build-type:          Simple
 extra-source-files:
   CHANGELOG.md
 cabal-version:       >=1.10
+tested-with:         GHC==7.4.2
+                     GHC==7.6.3
+                     GHC==7.8.4
+                     GHC==7.10.3
+                     GHC==8.0.2
+                     GHC==8.2.2
+                     GHC==8.4.4
+                     GHC==8.6.4
 
 source-repository head
   type:                git
-  location:            git://github.com/aelve/microlens.git
+  location:            git://github.com/monadfix/microlens.git
 
 library
   exposed-modules:     Lens.Micro.Mtl
                        Lens.Micro.Mtl.Internal
-  -- other-extensions:    
+  -- other-extensions:
   build-depends:       base >=4.5 && <5
                      , microlens >=0.4 && <0.5
                      , mtl >=2.0.1 && <2.3
diff --git a/src/Lens/Micro/Mtl.hs b/src/Lens/Micro/Mtl.hs
--- a/src/Lens/Micro/Mtl.hs
+++ b/src/Lens/Micro/Mtl.hs
@@ -4,7 +4,13 @@
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE UndecidableInstances #-}
 {-# LANGUAGE TypeFamilies #-}
+
+-- Lens.Micro.Internal is either Trustworthy or Unsafe
+#if __GLASGOW_HASKELL__ >= 708
+{-# LANGUAGE Safe #-}
+#else
 {-# LANGUAGE Trustworthy #-}
+#endif
 
 -- This is needed because ErrorT is deprecated.
 {-# OPTIONS_GHC -fno-warn-warnings-deprecations #-}
@@ -12,7 +18,7 @@
 
 {- |
 Module      :  Lens.Micro.Mtl
-Copyright   :  (C) 2013-2016 Edward Kmett, 2015-2016 Artyom
+Copyright   :  (C) 2013-2016 Edward Kmett, 2015-2016 Artyom Kazak, 2018 Monadfix
 License     :  BSD-style (see the file LICENSE)
 -}
 module Lens.Micro.Mtl
@@ -119,13 +125,6 @@
 preuse l = State.gets (preview l)
 {-# INLINE preuse #-}
 
-
-infix  4 .=, %=, ?=
-infix  4 <<.=, <<%=, <%=, <.=, <?=
-infix  4 +=, -=, *=, //=
-infixr 2 <~
-infixl 1 &~
-
 {- |
 This can be used to chain lens operations using @op=@ syntax
 rather than @op~@ syntax for simple non-type-changing cases.
@@ -144,6 +143,8 @@
 s &~ l = execState l s
 {-# INLINE (&~) #-}
 
+infixl 1 &~
+
 {- |
 Modify state by “assigning” a value to a part of the state.
 
@@ -159,6 +160,8 @@
 l .= x = State.modify (l .~ x)
 {-# INLINE (.=) #-}
 
+infix 4 .=
+
 {- |
 A synonym for ('.=').
 -}
@@ -179,6 +182,8 @@
 l ?= b = l .= Just b
 {-# INLINE (?=) #-}
 
+infix 4 ?=
+
 {- |
 ('<~') is a version of ('.=') that takes a monadic value (and then executes it and assigns the result to the lens).
 
@@ -192,6 +197,8 @@
 l <~ mb = mb >>= (l .=)
 {-# INLINE (<~) #-}
 
+infixr 2 <~
+
 {- |
 Modify state by applying a function to a part of the state. An example:
 
@@ -217,6 +224,8 @@
 l %= f = State.modify (l %~ f)
 {-# INLINE (%=) #-}
 
+infix 4 %=
+
 {- |
 A synonym for ('%=').
 -}
@@ -241,18 +250,26 @@
 l += x = l %= (+x)
 {-# INLINE (+=) #-}
 
+infix 4 +=
+
 (-=) :: (MonadState s m, Num a) => ASetter s s a a -> a -> m ()
 l -= x = l %= (subtract x)
 {-# INLINE (-=) #-}
 
+infix 4 -=
+
 (*=) :: (MonadState s m, Num a) => ASetter s s a a -> a -> m ()
 l *= x = l %= (*x)
 {-# INLINE (*=) #-}
 
+infix 4 *=
+
 (//=) :: (MonadState s m, Fractional a) => ASetter s s a a -> a -> m ()
 l //= x = l %= (/x)
 {-# INLINE (//=) #-}
 
+infix 4 //=
+
 {- |
 Modify state and return the modified (new) value.
 
@@ -266,6 +283,8 @@
 l <%= f = l %%= (\a -> (a, a)) . f
 {-# INLINE (<%=) #-}
 
+infix 4 <%=
+
 {- |
 Modify state and return the old value (i.e. as it was before the modificaton).
 
@@ -280,6 +299,8 @@
 l <<%= f = l %%= (\a -> (a, f a))
 {-# INLINE (<<%=) #-}
 
+infix 4 <<%=
+
 {- |
 Set state and return the old value.
 
@@ -294,6 +315,8 @@
 l <<.= b = l %%= (\a -> (a, b))
 {-# INLINE (<<.=) #-}
 
+infix 4 <<.=
+
 {- |
 Set state and return new value.
 
@@ -307,6 +330,8 @@
 l <.= b = l <%= const b
 {-# INLINE (<.=) #-}
 
+infix 4 <.=
+
 {- |
 ('<?=') is a version of ('<.=') that wraps the value into 'Just' before setting.
 
@@ -321,6 +346,8 @@
 (<?=) :: MonadState s m => LensLike ((,) b) s s a (Maybe b) -> b -> m b
 l <?= b = l %%= const (b, Just b)
 {-# INLINE (<?=) #-}
+
+infix 4 <?=
 
 (%%=) :: MonadState s m => LensLike ((,) r) s s a b -> (a -> (r, b)) -> m r
 #if MIN_VERSION_mtl(2,1,1)
diff --git a/src/Lens/Micro/Mtl/Internal.hs b/src/Lens/Micro/Mtl/Internal.hs
--- a/src/Lens/Micro/Mtl/Internal.hs
+++ b/src/Lens/Micro/Mtl/Internal.hs
@@ -8,7 +8,13 @@
 {-# LANGUAGE RankNTypes #-}
 {-# LANGUAGE TypeFamilies #-}
 {-# LANGUAGE KindSignatures #-}
+
+-- Lens.Micro.Internal is either Trustworthy or Unsafe
+#if __GLASGOW_HASKELL__ >= 708
+{-# LANGUAGE Safe #-}
+#else
 {-# LANGUAGE Trustworthy #-}
+#endif
 
 -- This is needed because ErrorT is deprecated.
 {-# OPTIONS_GHC -fno-warn-warnings-deprecations #-}
@@ -16,7 +22,7 @@
 
 {- |
 Module      :  Lens.Micro.Mtl.Internal
-Copyright   :  (C) 2013-2016 Edward Kmett, 2015-2016 Artyom
+Copyright   :  (C) 2013-2016 Edward Kmett, 2015-2016 Artyom Kazak, 2018 Monadfix
 License     :  BSD-style (see the file LICENSE)
 
 This module lets you define your own instances of 'Zoom' and 'Magnify'.
@@ -256,7 +262,7 @@
 
 infixr 2 `zoom`
 
-class (Zoomed m ~ Zoomed n, MonadState s m, MonadState t n) => Zoom m n s t | m -> s, n -> t, m t -> n, n s -> m where
+class (MonadState s m, MonadState t n) => Zoom m n s t | m -> s, n -> t, m t -> n, n s -> m where
   {- |
 When you're in a state monad, this function lets you operate on a part of your state. For instance, if your state was a record containing a @position@ field, after zooming @position@ would become your whole state (and when you modify it, the bigger structure would be modified as well).
 
@@ -422,7 +428,7 @@
 
 infixr 2 `magnify`
 
-class (Magnified m ~ Magnified n, MonadReader b m, MonadReader a n) => Magnify m n b a | m -> b, n -> a, m a -> n, n b -> m where
+class (MonadReader b m, MonadReader a n) => Magnify m n b a | m -> b, n -> a, m a -> n, n b -> m where
   {- |
 This is an equivalent of 'Reader.local' which lets you apply a getter to your environment instead of merely applying a function (and it also lets you change the type of the environment).
 
