This file is indexed.

/usr/share/doc/libghc-microlens-mtl-doc/html/Lens-Micro-Mtl-Internal.html is in libghc-microlens-mtl-doc 0.1.11.0-1build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Lens.Micro.Mtl.Internal</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="file:///usr/share/javascript/mathjax/MathJax.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Lens-Micro-Mtl-Internal.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Lens-Micro-Mtl-Internal.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">microlens-mtl-0.1.11.0: microlens support for Reader/Writer/State from mtl</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>(C) 2013-2016 Edward Kmett 2015-2016 Artyom</td></tr><tr><th>License</th><td>BSD-style (see the file LICENSE)</td></tr><tr><th>Safe Haskell</th><td>Trustworthy</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Lens.Micro.Mtl.Internal</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Classes</a></li><li><a href="#g:2">Focusing (used for <code>Zoom</code>)</a></li><li><a href="#g:3">Effect (used for <code>Magnify</code>)</a></li><li><a href="#g:4">Utilities</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module lets you define your own instances of <code><a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a></code> and <code><a href="Lens-Micro-Mtl-Internal.html#t:Magnify">Magnify</a></code>.</p><p>The warning from <a href="file:///usr/share/doc/libghc-microlens-doc/html/Lens-Micro-Internal.html">Lens.Micro.Internal</a> applies to this module as well. Don't export functions that have <code><a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a></code> or <code><a href="Lens-Micro-Mtl-Internal.html#t:Magnify">Magnify</a></code> in their type signatures. If you absolutely need to define an instance (e.g. for internal use), only do it for your own types, because otherwise I might add an instance to one of the microlens packages later and if our instances are different it might lead to subtle bugs.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">type family</span> <a href="#t:Zoomed">Zoomed</a> (m :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></li><li class="src short"><span class="keyword">class</span> (<a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> m ~ <a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> n, <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> t n) =&gt; <a href="#t:Zoom">Zoom</a> m n s t | m -&gt; s, n -&gt; t, m t -&gt; n, n s -&gt; m <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><span class="keyword">type family</span> <a href="#t:Magnified">Magnified</a> (m :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></li><li class="src short"><span class="keyword">class</span> (<a href="Lens-Micro-Mtl-Internal.html#t:Magnified">Magnified</a> m ~ <a href="Lens-Micro-Mtl-Internal.html#t:Magnified">Magnified</a> n, <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a> b m, <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a> a n) =&gt; <a href="#t:Magnify">Magnify</a> m n b a | m -&gt; b, n -&gt; a, m a -&gt; n, n b -&gt; m <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Focusing">Focusing</a> m s a = <a href="#v:Focusing">Focusing</a> {<ul class="subs"><li><a href="#v:unfocusing">unfocusing</a> :: m (s, a)</li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:FocusingWith">FocusingWith</a> w m s a = <a href="#v:FocusingWith">FocusingWith</a> {<ul class="subs"><li><a href="#v:unfocusingWith">unfocusingWith</a> :: m (s, a, w)</li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:FocusingPlus">FocusingPlus</a> w k s a = <a href="#v:FocusingPlus">FocusingPlus</a> {<ul class="subs"><li><a href="#v:unfocusingPlus">unfocusingPlus</a> :: k (s, w) a</li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:FocusingOn">FocusingOn</a> f k s a = <a href="#v:FocusingOn">FocusingOn</a> {<ul class="subs"><li><a href="#v:unfocusingOn">unfocusingOn</a> :: k (f s) a</li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:FocusingMay">FocusingMay</a> k s a = <a href="#v:FocusingMay">FocusingMay</a> {<ul class="subs"><li><a href="#v:unfocusingMay">unfocusingMay</a> :: k (<a href="Lens-Micro-Mtl-Internal.html#t:May">May</a> s) a</li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:FocusingErr">FocusingErr</a> e k s a = <a href="#v:FocusingErr">FocusingErr</a> {<ul class="subs"><li><a href="#v:unfocusingErr">unfocusingErr</a> :: k (<a href="Lens-Micro-Mtl-Internal.html#t:Err">Err</a> e s) a</li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Effect">Effect</a> m r a = <a href="#v:Effect">Effect</a> {<ul class="subs"><li><a href="#v:getEffect">getEffect</a> :: m r</li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:EffectRWS">EffectRWS</a> w st m s a = <a href="#v:EffectRWS">EffectRWS</a> {<ul class="subs"><li><a href="#v:getEffectRWS">getEffectRWS</a> :: st -&gt; m (s, st, w)</li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:May">May</a> a = <a href="#v:May">May</a> {<ul class="subs"><li><a href="#v:getMay">getMay</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Err">Err</a> e a = <a href="#v:Err">Err</a> {<ul class="subs"><li><a href="#v:getErr">getErr</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Either.html#t:Either">Either</a> e a</li></ul>}</li></ul></div><div id="interface"><h1 id="g:1">Classes</h1><div class="top"><p class="src"><span class="keyword">type family</span> <a id="t:Zoomed" class="def">Zoomed</a> (m :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="src/Lens-Micro-Mtl-Internal.html#Zoomed" class="link">Source</a> <a href="#t:Zoomed" class="selflink">#</a></p><div class="doc"><p>This type family is used by <code><a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a></code> to describe the common effect type.</p></div><div class="subs instances"><p id="control.i:Zoomed" class="caption collapser" onclick="toggleSection('i:Zoomed')">Instances</p><div id="section.i:Zoomed" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:if:Zoomed:Zoomed:1" class="instance expander" onclick="toggleSection('i:if:Zoomed:Zoomed:1')"></span> <span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-List.html#t:ListT">ListT</a> m)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-92" class="link">Source</a> <a href="#t:Zoomed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:if:Zoomed:Zoomed:1" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-List.html#t:ListT">ListT</a> m) = <a href="Lens-Micro-Mtl-Internal.html#t:FocusingOn">FocusingOn</a> [] (<a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> m)</div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:if:Zoomed:Zoomed:2" class="instance expander" onclick="toggleSection('i:if:Zoomed:Zoomed:2')"></span> <span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-Maybe.html#t:MaybeT">MaybeT</a> m)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-93" class="link">Source</a> <a href="#t:Zoomed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:if:Zoomed:Zoomed:2" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-Maybe.html#t:MaybeT">MaybeT</a> m) = <a href="Lens-Micro-Mtl-Internal.html#t:FocusingMay">FocusingMay</a> (<a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> m)</div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:if:Zoomed:Zoomed:3" class="instance expander" onclick="toggleSection('i:if:Zoomed:Zoomed:3')"></span> <span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Error.html#t:ErrorT">ErrorT</a> e m)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-94" class="link">Source</a> <a href="#t:Zoomed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:if:Zoomed:Zoomed:3" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Error.html#t:ErrorT">ErrorT</a> e m) = <a href="Lens-Micro-Mtl-Internal.html#t:FocusingErr">FocusingErr</a> e (<a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> m)</div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:if:Zoomed:Zoomed:4" class="instance expander" onclick="toggleSection('i:if:Zoomed:Zoomed:4')"></span> <span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Except.html#t:ExceptT">ExceptT</a> e m)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-95" class="link">Source</a> <a href="#t:Zoomed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:if:Zoomed:Zoomed:4" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Except.html#t:ExceptT">ExceptT</a> e m) = <a href="Lens-Micro-Mtl-Internal.html#t:FocusingErr">FocusingErr</a> e (<a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> m)</div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:if:Zoomed:Zoomed:5" class="instance expander" onclick="toggleSection('i:if:Zoomed:Zoomed:5')"></span> <span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Lazy.html#t:StateT">StateT</a> s z)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-85" class="link">Source</a> <a href="#t:Zoomed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:if:Zoomed:Zoomed:5" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Lazy.html#t:StateT">StateT</a> s z) = <a href="Lens-Micro-Mtl-Internal.html#t:Focusing">Focusing</a> z</div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:if:Zoomed:Zoomed:6" class="instance expander" onclick="toggleSection('i:if:Zoomed:Zoomed:6')"></span> <span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Strict.html#t:StateT">StateT</a> s z)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-84" class="link">Source</a> <a href="#t:Zoomed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:if:Zoomed:Zoomed:6" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Strict.html#t:StateT">StateT</a> s z) = <a href="Lens-Micro-Mtl-Internal.html#t:Focusing">Focusing</a> z</div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:if:Zoomed:Zoomed:7" class="instance expander" onclick="toggleSection('i:if:Zoomed:Zoomed:7')"></span> <span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Writer-Lazy.html#t:WriterT">WriterT</a> w m)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-91" class="link">Source</a> <a href="#t:Zoomed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:if:Zoomed:Zoomed:7" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Writer-Lazy.html#t:WriterT">WriterT</a> w m) = <a href="Lens-Micro-Mtl-Internal.html#t:FocusingPlus">FocusingPlus</a> w (<a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> m)</div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:if:Zoomed:Zoomed:8" class="instance expander" onclick="toggleSection('i:if:Zoomed:Zoomed:8')"></span> <span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Writer-Strict.html#t:WriterT">WriterT</a> w m)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-90" class="link">Source</a> <a href="#t:Zoomed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:if:Zoomed:Zoomed:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Writer-Strict.html#t:WriterT">WriterT</a> w m) = <a href="Lens-Micro-Mtl-Internal.html#t:FocusingPlus">FocusingPlus</a> w (<a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> m)</div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:if:Zoomed:Zoomed:9" class="instance expander" onclick="toggleSection('i:if:Zoomed:Zoomed:9')"></span> <span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-Identity.html#t:IdentityT">IdentityT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> m)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-87" class="link">Source</a> <a href="#t:Zoomed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:if:Zoomed:Zoomed:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-Identity.html#t:IdentityT">IdentityT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> m) = <a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> m</div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:if:Zoomed:Zoomed:10" class="instance expander" onclick="toggleSection('i:if:Zoomed:Zoomed:10')"></span> <span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:ReaderT">ReaderT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> e m)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-86" class="link">Source</a> <a href="#t:Zoomed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:if:Zoomed:Zoomed:10" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:ReaderT">ReaderT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> e m) = <a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> m</div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:if:Zoomed:Zoomed:11" class="instance expander" onclick="toggleSection('i:if:Zoomed:Zoomed:11')"></span> <span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Lazy.html#t:RWST">RWST</a> r w s z)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-89" class="link">Source</a> <a href="#t:Zoomed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:if:Zoomed:Zoomed:11" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Lazy.html#t:RWST">RWST</a> r w s z) = <a href="Lens-Micro-Mtl-Internal.html#t:FocusingWith">FocusingWith</a> w z</div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:if:Zoomed:Zoomed:12" class="instance expander" onclick="toggleSection('i:if:Zoomed:Zoomed:12')"></span> <span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Strict.html#t:RWST">RWST</a> r w s z)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-88" class="link">Source</a> <a href="#t:Zoomed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:if:Zoomed:Zoomed:12" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Strict.html#t:RWST">RWST</a> r w s z) = <a href="Lens-Micro-Mtl-Internal.html#t:FocusingWith">FocusingWith</a> w z</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span> (<a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> m ~ <a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> n, <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> t n) =&gt; <a id="t:Zoom" class="def">Zoom</a> m n s t | m -&gt; s, n -&gt; t, m t -&gt; n, n s -&gt; m <span class="keyword">where</span> <a href="src/Lens-Micro-Mtl-Internal.html#Zoom" class="link">Source</a> <a href="#t:Zoom" class="selflink">#</a></p><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Lens-Micro-Mtl-Internal.html#v:zoom">zoom</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:zoom" class="def">zoom</a> :: <a href="file:///usr/share/doc/libghc-microlens-doc/html/Lens-Micro-Type.html#t:LensLike-39-">LensLike'</a> (<a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> m c) t s -&gt; m c -&gt; n c <span class="fixity">infixr 2</span><span class="rightedge"></span> <a href="src/Lens-Micro-Mtl-Internal.html#zoom" class="link">Source</a> <a href="#v:zoom" class="selflink">#</a></p><div class="doc"><p>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 <code>position</code> field, after zooming <code>position</code> would become your whole state (and when you modify it, the bigger structure would be modified as well).</p><p>(Your <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Lazy.html#t:State">State</a></code> / <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Lazy.html#t:StateT">StateT</a></code> or <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Lazy.html#t:RWS">RWS</a></code> / <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Lazy.html#t:RWST">RWST</a></code> can be anywhere in the stack, but you can't use <code><a href="Lens-Micro-Mtl-Internal.html#v:zoom">zoom</a></code> with arbitrary <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> because it doesn't provide any methods to change the type of the state. See <a href="https://github.com/ekmett/lens/issues/316">this issue</a> for details.)</p><p>For the sake of the example, let's define some types first:</p><pre>data Position = Position {
  _x, _y :: Int }

data Player = Player {
  _position :: Position,
  ... }

data Game = Game {
  _player :: Player,
  _obstacles :: [Position],
  ... }

concat &lt;$&gt; mapM makeLenses [''Position, ''Player, ''Game]
</pre><p>Now, here's an action that moves the player north-east:</p><pre>moveNE :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Lazy.html#t:State">State</a></code> Game ()
moveNE = do
  player.position.x <code><a href="Lens-Micro-Mtl.html#v:-43--61-">+=</a></code> 1
  player.position.y <code><a href="Lens-Micro-Mtl.html#v:-43--61-">+=</a></code> 1
</pre><p>With <code><a href="Lens-Micro-Mtl-Internal.html#v:zoom">zoom</a></code>, you can use <code>player.position</code> to focus just on a part of the state:</p><pre>moveNE :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Lazy.html#t:State">State</a></code> Game ()
moveNE = do
  <code><a href="Lens-Micro-Mtl-Internal.html#v:zoom">zoom</a></code> (player.position) $ do
    x <code><a href="Lens-Micro-Mtl.html#v:-43--61-">+=</a></code> 1
    y <code><a href="Lens-Micro-Mtl.html#v:-43--61-">+=</a></code> 1
</pre><p>You can just as well use it for retrieving things out of the state:</p><pre>getCoords :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Lazy.html#t:State">State</a></code> Game (Int, Int)
getCoords = <code><a href="Lens-Micro-Mtl-Internal.html#v:zoom">zoom</a></code> (player.position) ((,) <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#v:-60--36--62-">&lt;$&gt;</a></code> <code><a href="Lens-Micro-Mtl.html#v:use">use</a></code> x <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#v:-60--42--62-">&lt;*&gt;</a></code> <code><a href="Lens-Micro-Mtl.html#v:use">use</a></code> y)
</pre><p>Or more explicitly:</p><pre>getCoords = <code><a href="Lens-Micro-Mtl-Internal.html#v:zoom">zoom</a></code> (player.position) $ do
  x' &lt;- <code><a href="Lens-Micro-Mtl.html#v:use">use</a></code> x
  y' &lt;- <code><a href="Lens-Micro-Mtl.html#v:use">use</a></code> y
  return (x', y')
</pre><p>When you pass a traversal to <code><a href="Lens-Micro-Mtl-Internal.html#v:zoom">zoom</a></code>, it'll work as a loop. For instance, here we move all obstacles:</p><pre>moveObstaclesNE :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Lazy.html#t:State">State</a></code> Game ()
moveObstaclesNE = do
  <code><a href="Lens-Micro-Mtl-Internal.html#v:zoom">zoom</a></code> (obstacles.<code><a href="file:///usr/share/doc/libghc-microlens-doc/html/Lens-Micro-Internal.html#v:each">each</a></code>) $ do
    x <code><a href="Lens-Micro-Mtl.html#v:-43--61-">+=</a></code> 1
    y <code><a href="Lens-Micro-Mtl.html#v:-43--61-">+=</a></code> 1
</pre><p>If the action returns a result, all results would be combined with <code>&lt;&gt;</code> &#8211; the same way they're combined when <code><a href="file:///usr/share/doc/libghc-microlens-doc/html/Lens-Micro.html#v:-94-.">^.</a></code> is passed a traversal. In this example, <code>moveObstaclesNE</code> returns a list of old coordinates of obstacles in addition to moving them:</p><pre>moveObstaclesNE = do
  xys &lt;- <code><a href="Lens-Micro-Mtl-Internal.html#v:zoom">zoom</a></code> (obstacles.<code><a href="file:///usr/share/doc/libghc-microlens-doc/html/Lens-Micro-Internal.html#v:each">each</a></code>) $ do
    -- Get old coordinates.
    x' &lt;- <code><a href="Lens-Micro-Mtl.html#v:use">use</a></code> x
    y' &lt;- <code><a href="Lens-Micro-Mtl.html#v:use">use</a></code> y
    -- Update them.
    x <code><a href="Lens-Micro-Mtl.html#v:.-61-">.=</a></code> x' + 1
    y <code><a href="Lens-Micro-Mtl.html#v:.-61-">.=</a></code> y' + 1
    -- Return a single-element list with old coordinates.
    return [(x', y')]
  ...
</pre><p>Finally, you might need to write your own instances of <code><a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a></code> if you use <code>newtype</code>d transformers in your monad stack. This can be done as follows:</p><pre>import <a href="Lens-Micro-Mtl-Internal.html">Lens.Micro.Mtl.Internal</a>

type instance <code><a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a></code> (MyStateT s m) = <code><a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a></code> (StateT s m)

instance Monad m =&gt; <code><a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a></code> (MyStateT s m) (MyStateT t m) s t where
    <code><a href="Lens-Micro-Mtl-Internal.html#v:zoom">zoom</a></code> l (MyStateT m) = MyStateT (<code><a href="Lens-Micro-Mtl-Internal.html#v:zoom">zoom</a></code> l m)
</pre></div></div><div class="subs instances"><p id="control.i:Zoom" class="caption collapser" onclick="toggleSection('i:Zoom')">Instances</p><div id="section.i:Zoom" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Zoom:Zoom:1" class="instance expander" onclick="toggleSection('i:ic:Zoom:Zoom:1')"></span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a> m n s t =&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-List.html#t:ListT">ListT</a> m) (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-List.html#t:ListT">ListT</a> n) s t</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-375" class="link">Source</a> <a href="#t:Zoom" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Zoom:Zoom:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:zoom">zoom</a> :: <a href="file:///usr/share/doc/libghc-microlens-doc/html/Lens-Micro-Type.html#t:LensLike-39-">LensLike'</a> (<a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-List.html#t:ListT">ListT</a> m) c) t s -&gt; <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-List.html#t:ListT">ListT</a> m c -&gt; <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-List.html#t:ListT">ListT</a> n c <a href="src/Lens-Micro-Mtl-Internal.html#zoom" class="link">Source</a> <a href="#v:zoom" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Zoom:Zoom:2" class="instance expander" onclick="toggleSection('i:ic:Zoom:Zoom:2')"></span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a> m n s t =&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-Maybe.html#t:MaybeT">MaybeT</a> m) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-Maybe.html#t:MaybeT">MaybeT</a> n) s t</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-379" class="link">Source</a> <a href="#t:Zoom" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Zoom:Zoom:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:zoom">zoom</a> :: <a href="file:///usr/share/doc/libghc-microlens-doc/html/Lens-Micro-Type.html#t:LensLike-39-">LensLike'</a> (<a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-Maybe.html#t:MaybeT">MaybeT</a> m) c) t s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-Maybe.html#t:MaybeT">MaybeT</a> m c -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-Maybe.html#t:MaybeT">MaybeT</a> n c <a href="src/Lens-Micro-Mtl-Internal.html#zoom" class="link">Source</a> <a href="#v:zoom" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Zoom:Zoom:3" class="instance expander" onclick="toggleSection('i:ic:Zoom:Zoom:3')"></span> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Error-Class.html#t:Error">Error</a> e, <a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a> m n s t) =&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Error.html#t:ErrorT">ErrorT</a> e m) (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Error.html#t:ErrorT">ErrorT</a> e n) s t</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-383" class="link">Source</a> <a href="#t:Zoom" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Zoom:Zoom:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:zoom">zoom</a> :: <a href="file:///usr/share/doc/libghc-microlens-doc/html/Lens-Micro-Type.html#t:LensLike-39-">LensLike'</a> (<a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Error.html#t:ErrorT">ErrorT</a> e m) c) t s -&gt; <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Error.html#t:ErrorT">ErrorT</a> e m c -&gt; <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Error.html#t:ErrorT">ErrorT</a> e n c <a href="src/Lens-Micro-Mtl-Internal.html#zoom" class="link">Source</a> <a href="#v:zoom" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Zoom:Zoom:4" class="instance expander" onclick="toggleSection('i:ic:Zoom:Zoom:4')"></span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a> m n s t =&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Except.html#t:ExceptT">ExceptT</a> e m) (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Except.html#t:ExceptT">ExceptT</a> e n) s t</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-387" class="link">Source</a> <a href="#t:Zoom" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Zoom:Zoom:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:zoom">zoom</a> :: <a href="file:///usr/share/doc/libghc-microlens-doc/html/Lens-Micro-Type.html#t:LensLike-39-">LensLike'</a> (<a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Except.html#t:ExceptT">ExceptT</a> e m) c) t s -&gt; <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Except.html#t:ExceptT">ExceptT</a> e m c -&gt; <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Except.html#t:ExceptT">ExceptT</a> e n c <a href="src/Lens-Micro-Mtl-Internal.html#zoom" class="link">Source</a> <a href="#v:zoom" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Zoom:Zoom:5" class="instance expander" onclick="toggleSection('i:ic:Zoom:Zoom:5')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> z =&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Lazy.html#t:StateT">StateT</a> s z) (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Lazy.html#t:StateT">StateT</a> t z) s t</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-347" class="link">Source</a> <a href="#t:Zoom" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Zoom:Zoom:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:zoom">zoom</a> :: <a href="file:///usr/share/doc/libghc-microlens-doc/html/Lens-Micro-Type.html#t:LensLike-39-">LensLike'</a> (<a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Lazy.html#t:StateT">StateT</a> s z) c) t s -&gt; <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Lazy.html#t:StateT">StateT</a> s z c -&gt; <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Lazy.html#t:StateT">StateT</a> t z c <a href="src/Lens-Micro-Mtl-Internal.html#zoom" class="link">Source</a> <a href="#v:zoom" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Zoom:Zoom:6" class="instance expander" onclick="toggleSection('i:ic:Zoom:Zoom:6')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> z =&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Strict.html#t:StateT">StateT</a> s z) (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Strict.html#t:StateT">StateT</a> t z) s t</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-343" class="link">Source</a> <a href="#t:Zoom" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Zoom:Zoom:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:zoom">zoom</a> :: <a href="file:///usr/share/doc/libghc-microlens-doc/html/Lens-Micro-Type.html#t:LensLike-39-">LensLike'</a> (<a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Strict.html#t:StateT">StateT</a> s z) c) t s -&gt; <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Strict.html#t:StateT">StateT</a> s z c -&gt; <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Strict.html#t:StateT">StateT</a> t z c <a href="src/Lens-Micro-Mtl-Internal.html#zoom" class="link">Source</a> <a href="#v:zoom" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Zoom:Zoom:7" class="instance expander" onclick="toggleSection('i:ic:Zoom:Zoom:7')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> w, <a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a> m n s t) =&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Writer-Lazy.html#t:WriterT">WriterT</a> w m) (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Writer-Lazy.html#t:WriterT">WriterT</a> w n) s t</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-371" class="link">Source</a> <a href="#t:Zoom" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Zoom:Zoom:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:zoom">zoom</a> :: <a href="file:///usr/share/doc/libghc-microlens-doc/html/Lens-Micro-Type.html#t:LensLike-39-">LensLike'</a> (<a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Writer-Lazy.html#t:WriterT">WriterT</a> w m) c) t s -&gt; <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Writer-Lazy.html#t:WriterT">WriterT</a> w m c -&gt; <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Writer-Lazy.html#t:WriterT">WriterT</a> w n c <a href="src/Lens-Micro-Mtl-Internal.html#zoom" class="link">Source</a> <a href="#v:zoom" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Zoom:Zoom:8" class="instance expander" onclick="toggleSection('i:ic:Zoom:Zoom:8')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> w, <a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a> m n s t) =&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Writer-Strict.html#t:WriterT">WriterT</a> w m) (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Writer-Strict.html#t:WriterT">WriterT</a> w n) s t</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-367" class="link">Source</a> <a href="#t:Zoom" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Zoom:Zoom:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:zoom">zoom</a> :: <a href="file:///usr/share/doc/libghc-microlens-doc/html/Lens-Micro-Type.html#t:LensLike-39-">LensLike'</a> (<a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Writer-Strict.html#t:WriterT">WriterT</a> w m) c) t s -&gt; <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Writer-Strict.html#t:WriterT">WriterT</a> w m c -&gt; <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Writer-Strict.html#t:WriterT">WriterT</a> w n c <a href="src/Lens-Micro-Mtl-Internal.html#zoom" class="link">Source</a> <a href="#v:zoom" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Zoom:Zoom:9" class="instance expander" onclick="toggleSection('i:ic:Zoom:Zoom:9')"></span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a> m n s t =&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-Identity.html#t:IdentityT">IdentityT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> m) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-Identity.html#t:IdentityT">IdentityT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> n) s t</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-355" class="link">Source</a> <a href="#t:Zoom" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Zoom:Zoom:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:zoom">zoom</a> :: <a href="file:///usr/share/doc/libghc-microlens-doc/html/Lens-Micro-Type.html#t:LensLike-39-">LensLike'</a> (<a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-Identity.html#t:IdentityT">IdentityT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> m) c) t s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-Identity.html#t:IdentityT">IdentityT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> m c -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-Identity.html#t:IdentityT">IdentityT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> n c <a href="src/Lens-Micro-Mtl-Internal.html#zoom" class="link">Source</a> <a href="#v:zoom" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Zoom:Zoom:10" class="instance expander" onclick="toggleSection('i:ic:Zoom:Zoom:10')"></span> <a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a> m n s t =&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:ReaderT">ReaderT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> e m) (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:ReaderT">ReaderT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> e n) s t</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-351" class="link">Source</a> <a href="#t:Zoom" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Zoom:Zoom:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:zoom">zoom</a> :: <a href="file:///usr/share/doc/libghc-microlens-doc/html/Lens-Micro-Type.html#t:LensLike-39-">LensLike'</a> (<a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:ReaderT">ReaderT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> e m) c) t s -&gt; <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:ReaderT">ReaderT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> e m c -&gt; <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:ReaderT">ReaderT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> e n c <a href="src/Lens-Micro-Mtl-Internal.html#zoom" class="link">Source</a> <a href="#v:zoom" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Zoom:Zoom:11" class="instance expander" onclick="toggleSection('i:ic:Zoom:Zoom:11')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> w, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> z) =&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Lazy.html#t:RWST">RWST</a> r w s z) (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Lazy.html#t:RWST">RWST</a> r w t z) s t</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-363" class="link">Source</a> <a href="#t:Zoom" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Zoom:Zoom:11" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:zoom">zoom</a> :: <a href="file:///usr/share/doc/libghc-microlens-doc/html/Lens-Micro-Type.html#t:LensLike-39-">LensLike'</a> (<a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Lazy.html#t:RWST">RWST</a> r w s z) c) t s -&gt; <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Lazy.html#t:RWST">RWST</a> r w s z c -&gt; <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Lazy.html#t:RWST">RWST</a> r w t z c <a href="src/Lens-Micro-Mtl-Internal.html#zoom" class="link">Source</a> <a href="#v:zoom" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Zoom:Zoom:12" class="instance expander" onclick="toggleSection('i:ic:Zoom:Zoom:12')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> w, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> z) =&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Strict.html#t:RWST">RWST</a> r w s z) (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Strict.html#t:RWST">RWST</a> r w t z) s t</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-359" class="link">Source</a> <a href="#t:Zoom" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Zoom:Zoom:12" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:zoom">zoom</a> :: <a href="file:///usr/share/doc/libghc-microlens-doc/html/Lens-Micro-Type.html#t:LensLike-39-">LensLike'</a> (<a href="Lens-Micro-Mtl-Internal.html#t:Zoomed">Zoomed</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Strict.html#t:RWST">RWST</a> r w s z) c) t s -&gt; <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Strict.html#t:RWST">RWST</a> r w s z c -&gt; <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Strict.html#t:RWST">RWST</a> r w t z c <a href="src/Lens-Micro-Mtl-Internal.html#zoom" class="link">Source</a> <a href="#v:zoom" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type family</span> <a id="t:Magnified" class="def">Magnified</a> (m :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="src/Lens-Micro-Mtl-Internal.html#Magnified" class="link">Source</a> <a href="#t:Magnified" class="selflink">#</a></p><div class="doc"><p>This type family is used by <code><a href="Lens-Micro-Mtl-Internal.html#t:Magnify">Magnify</a></code> to describe the common effect type.</p></div><div class="subs instances"><p id="control.i:Magnified" class="caption collapser" onclick="toggleSection('i:Magnified')">Instances</p><div id="section.i:Magnified" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:if:Magnified:Magnified:1" class="instance expander" onclick="toggleSection('i:if:Magnified:Magnified:1')"></span> <span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Magnified">Magnified</a> ((-&gt;) b)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-400" class="link">Source</a> <a href="#t:Magnified" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:if:Magnified:Magnified:1" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Magnified">Magnified</a> ((-&gt;) b) = <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor-Const.html#t:Const">Const</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:if:Magnified:Magnified:2" class="instance expander" onclick="toggleSection('i:if:Magnified:Magnified:2')"></span> <span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Magnified">Magnified</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-Identity.html#t:IdentityT">IdentityT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> m)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-403" class="link">Source</a> <a href="#t:Magnified" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:if:Magnified:Magnified:2" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Magnified">Magnified</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-Identity.html#t:IdentityT">IdentityT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> m) = <a href="Lens-Micro-Mtl-Internal.html#t:Magnified">Magnified</a> m</div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:if:Magnified:Magnified:3" class="instance expander" onclick="toggleSection('i:if:Magnified:Magnified:3')"></span> <span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Magnified">Magnified</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:ReaderT">ReaderT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> b m)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-399" class="link">Source</a> <a href="#t:Magnified" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:if:Magnified:Magnified:3" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Magnified">Magnified</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:ReaderT">ReaderT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> b m) = <a href="Lens-Micro-Mtl-Internal.html#t:Effect">Effect</a> m</div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:if:Magnified:Magnified:4" class="instance expander" onclick="toggleSection('i:if:Magnified:Magnified:4')"></span> <span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Magnified">Magnified</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Lazy.html#t:RWST">RWST</a> a w s m)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-402" class="link">Source</a> <a href="#t:Magnified" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:if:Magnified:Magnified:4" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Magnified">Magnified</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Lazy.html#t:RWST">RWST</a> a w s m) = <a href="Lens-Micro-Mtl-Internal.html#t:EffectRWS">EffectRWS</a> w s m</div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:if:Magnified:Magnified:5" class="instance expander" onclick="toggleSection('i:if:Magnified:Magnified:5')"></span> <span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Magnified">Magnified</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Strict.html#t:RWST">RWST</a> a w s m)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-401" class="link">Source</a> <a href="#t:Magnified" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:if:Magnified:Magnified:5" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Lens-Micro-Mtl-Internal.html#t:Magnified">Magnified</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Strict.html#t:RWST">RWST</a> a w s m) = <a href="Lens-Micro-Mtl-Internal.html#t:EffectRWS">EffectRWS</a> w s m</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span> (<a href="Lens-Micro-Mtl-Internal.html#t:Magnified">Magnified</a> m ~ <a href="Lens-Micro-Mtl-Internal.html#t:Magnified">Magnified</a> n, <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a> b m, <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a> a n) =&gt; <a id="t:Magnify" class="def">Magnify</a> m n b a | m -&gt; b, n -&gt; a, m a -&gt; n, n b -&gt; m <span class="keyword">where</span> <a href="src/Lens-Micro-Mtl-Internal.html#Magnify" class="link">Source</a> <a href="#t:Magnify" class="selflink">#</a></p><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Lens-Micro-Mtl-Internal.html#v:magnify">magnify</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:magnify" class="def">magnify</a> :: <a href="file:///usr/share/doc/libghc-microlens-doc/html/Lens-Micro-Type.html#t:LensLike-39-">LensLike'</a> (<a href="Lens-Micro-Mtl-Internal.html#t:Magnified">Magnified</a> m c) a b -&gt; m c -&gt; n c <span class="fixity">infixr 2</span><span class="rightedge"></span> <a href="src/Lens-Micro-Mtl-Internal.html#magnify" class="link">Source</a> <a href="#v:magnify" class="selflink">#</a></p><div class="doc"><p>This is an equivalent of <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader-Class.html#v:local">local</a></code> 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).</p><pre><code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader-Class.html#v:local">local</a></code>   :: (r -&gt; r)   -&gt; <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:Reader">Reader</a></code> r a -&gt; <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:Reader">Reader</a></code> r a
<code><a href="Lens-Micro-Mtl-Internal.html#v:magnify">magnify</a></code> :: Getter r x -&gt; <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:Reader">Reader</a></code> x a -&gt; <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:Reader">Reader</a></code> r a
</pre><p><code><a href="Lens-Micro-Mtl-Internal.html#v:magnify">magnify</a></code> works with <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:Reader">Reader</a></code> / <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:ReaderT">ReaderT</a></code>, <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Lazy.html#t:RWS">RWS</a></code> / <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Lazy.html#t:RWST">RWST</a></code>, and <code>(-&gt;)</code>.</p><p>Here's an example of <code><a href="Lens-Micro-Mtl-Internal.html#v:magnify">magnify</a></code> being used to work with a part of a bigger config. First, the types:</p><pre>data URL = URL {
  _protocol :: Maybe String,
  _path :: String }

data Config = Config {
  _base :: URL,
  ... }

makeLenses ''URL
makeLenses ''Config
</pre><p>Now, let's define a function which returns the base url:</p><pre>getBase :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:Reader">Reader</a></code> Config String
getBase = do
  protocol &lt;- <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:fromMaybe">fromMaybe</a></code> &quot;https&quot; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#v:-60--36--62-">&lt;$&gt;</a></code> <code><a href="Lens-Micro-Mtl.html#v:view">view</a></code> (base.protocol)
  path     &lt;- <code><a href="Lens-Micro-Mtl.html#v:view">view</a></code> (base.path)
  return (protocol ++ path)
</pre><p>With <code><a href="Lens-Micro-Mtl-Internal.html#v:magnify">magnify</a></code>, we can factor out <code>base</code>:</p><pre>getBase = <code><a href="Lens-Micro-Mtl-Internal.html#v:magnify">magnify</a></code> base $ do
  protocol &lt;- <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:fromMaybe">fromMaybe</a></code> &quot;https&quot; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#v:-60--36--62-">&lt;$&gt;</a></code> <code><a href="Lens-Micro-Mtl.html#v:view">view</a></code> protocol
  path     &lt;- <code><a href="Lens-Micro-Mtl.html#v:view">view</a></code> path
  return (protocol ++ path)
</pre><p>This concludes the example.</p><p>Finally, you should know writing instances of <code><a href="Lens-Micro-Mtl-Internal.html#t:Magnify">Magnify</a></code> for your own types can be done as follows:</p><pre>import <a href="Lens-Micro-Mtl-Internal.html">Lens.Micro.Mtl.Internal</a>

type instance <code><a href="Lens-Micro-Mtl-Internal.html#t:Magnified">Magnified</a></code> (MyReaderT r m) = <code><a href="Lens-Micro-Mtl-Internal.html#t:Magnified">Magnified</a></code> (ReaderT r m)

instance Monad m =&gt; <code><a href="Lens-Micro-Mtl-Internal.html#t:Magnify">Magnify</a></code> (MyReaderT r m) (MyReaderT t m) r t where
    <code><a href="Lens-Micro-Mtl-Internal.html#v:magnify">magnify</a></code> l (MyReaderT m) = MyReaderT (<code><a href="Lens-Micro-Mtl-Internal.html#v:magnify">magnify</a></code> l m)
</pre></div></div><div class="subs instances"><p id="control.i:Magnify" class="caption collapser" onclick="toggleSection('i:Magnify')">Instances</p><div id="section.i:Magnify" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Magnify:Magnify:1" class="instance expander" onclick="toggleSection('i:ic:Magnify:Magnify:1')"></span> <a href="Lens-Micro-Mtl-Internal.html#t:Magnify">Magnify</a> ((-&gt;) b) ((-&gt;) a) b a</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-475" class="link">Source</a> <a href="#t:Magnify" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Magnify:Magnify:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:magnify">magnify</a> :: <a href="file:///usr/share/doc/libghc-microlens-doc/html/Lens-Micro-Type.html#t:LensLike-39-">LensLike'</a> (<a href="Lens-Micro-Mtl-Internal.html#t:Magnified">Magnified</a> ((-&gt;) b) c) a b -&gt; (b -&gt; c) -&gt; a -&gt; c <a href="src/Lens-Micro-Mtl-Internal.html#magnify" class="link">Source</a> <a href="#v:magnify" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Magnify:Magnify:2" class="instance expander" onclick="toggleSection('i:ic:Magnify:Magnify:2')"></span> <a href="Lens-Micro-Mtl-Internal.html#t:Magnify">Magnify</a> m n b a =&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Magnify">Magnify</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-Identity.html#t:IdentityT">IdentityT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> m) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-Identity.html#t:IdentityT">IdentityT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> n) b a</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-487" class="link">Source</a> <a href="#t:Magnify" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Magnify:Magnify:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:magnify">magnify</a> :: <a href="file:///usr/share/doc/libghc-microlens-doc/html/Lens-Micro-Type.html#t:LensLike-39-">LensLike'</a> (<a href="Lens-Micro-Mtl-Internal.html#t:Magnified">Magnified</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-Identity.html#t:IdentityT">IdentityT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> m) c) a b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-Identity.html#t:IdentityT">IdentityT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> m c -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-Identity.html#t:IdentityT">IdentityT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> n c <a href="src/Lens-Micro-Mtl-Internal.html#magnify" class="link">Source</a> <a href="#v:magnify" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Magnify:Magnify:3" class="instance expander" onclick="toggleSection('i:ic:Magnify:Magnify:3')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Magnify">Magnify</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:ReaderT">ReaderT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> b m) (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:ReaderT">ReaderT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> a m) b a</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-471" class="link">Source</a> <a href="#t:Magnify" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Magnify:Magnify:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:magnify">magnify</a> :: <a href="file:///usr/share/doc/libghc-microlens-doc/html/Lens-Micro-Type.html#t:LensLike-39-">LensLike'</a> (<a href="Lens-Micro-Mtl-Internal.html#t:Magnified">Magnified</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:ReaderT">ReaderT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> b m) c) a b -&gt; <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:ReaderT">ReaderT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> b m c -&gt; <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:ReaderT">ReaderT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> a m c <a href="src/Lens-Micro-Mtl-Internal.html#magnify" class="link">Source</a> <a href="#v:magnify" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Magnify:Magnify:4" class="instance expander" onclick="toggleSection('i:ic:Magnify:Magnify:4')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> w) =&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Magnify">Magnify</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Lazy.html#t:RWST">RWST</a> b w s m) (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Lazy.html#t:RWST">RWST</a> a w s m) b a</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-483" class="link">Source</a> <a href="#t:Magnify" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Magnify:Magnify:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:magnify">magnify</a> :: <a href="file:///usr/share/doc/libghc-microlens-doc/html/Lens-Micro-Type.html#t:LensLike-39-">LensLike'</a> (<a href="Lens-Micro-Mtl-Internal.html#t:Magnified">Magnified</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Lazy.html#t:RWST">RWST</a> b w s m) c) a b -&gt; <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Lazy.html#t:RWST">RWST</a> b w s m c -&gt; <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Lazy.html#t:RWST">RWST</a> a w s m c <a href="src/Lens-Micro-Mtl-Internal.html#magnify" class="link">Source</a> <a href="#v:magnify" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Magnify:Magnify:5" class="instance expander" onclick="toggleSection('i:ic:Magnify:Magnify:5')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> w) =&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Magnify">Magnify</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Strict.html#t:RWST">RWST</a> b w s m) (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Strict.html#t:RWST">RWST</a> a w s m) b a</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-479" class="link">Source</a> <a href="#t:Magnify" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Magnify:Magnify:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:magnify">magnify</a> :: <a href="file:///usr/share/doc/libghc-microlens-doc/html/Lens-Micro-Type.html#t:LensLike-39-">LensLike'</a> (<a href="Lens-Micro-Mtl-Internal.html#t:Magnified">Magnified</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Strict.html#t:RWST">RWST</a> b w s m) c) a b -&gt; <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Strict.html#t:RWST">RWST</a> b w s m c -&gt; <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS-Strict.html#t:RWST">RWST</a> a w s m c <a href="src/Lens-Micro-Mtl-Internal.html#magnify" class="link">Source</a> <a href="#v:magnify" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><h1 id="g:2">Focusing (used for <code><a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a></code>)</h1><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:Focusing" class="def">Focusing</a> m s a <a href="src/Lens-Micro-Mtl-Internal.html#Focusing" class="link">Source</a> <a href="#t:Focusing" class="selflink">#</a></p><div class="doc"><p>Used by <code><a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a></code> to <code><a href="Lens-Micro-Mtl-Internal.html#v:zoom">zoom</a></code> into <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State.html#v:StateT">StateT</a></code>.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Focusing" class="def">Focusing</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:unfocusing" class="def">unfocusing</a> :: m (s, a)</dfn><div class="doc empty">&nbsp;</div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:Focusing" class="caption collapser" onclick="toggleSection('i:Focusing')">Instances</p><div id="section.i:Focusing" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Focusing:Functor:1" class="instance expander" onclick="toggleSection('i:id:Focusing:Functor:1')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> (<a href="Lens-Micro-Mtl-Internal.html#t:Focusing">Focusing</a> m s)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-104" class="link">Source</a> <a href="#t:Focusing" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Focusing:Functor:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -&gt; b) -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Focusing">Focusing</a> m s a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Focusing">Focusing</a> m s b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(&lt;$)</a> :: a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Focusing">Focusing</a> m s b -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Focusing">Focusing</a> m s a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Focusing:Applicative:2" class="instance expander" onclick="toggleSection('i:id:Focusing:Applicative:2')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> s) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Lens-Micro-Mtl-Internal.html#t:Focusing">Focusing</a> m s)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-110" class="link">Source</a> <a href="#t:Focusing" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Focusing:Applicative:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pure">pure</a> :: a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Focusing">Focusing</a> m s a <a href="#v:pure" class="selflink">#</a></p><p class="src"><a href="#v:-60--42--62-">(&lt;*&gt;)</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:Focusing">Focusing</a> m s (a -&gt; b) -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Focusing">Focusing</a> m s a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Focusing">Focusing</a> m s b <a href="#v:-60--42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-42--62-">(*&gt;)</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:Focusing">Focusing</a> m s a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Focusing">Focusing</a> m s b -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Focusing">Focusing</a> m s b <a href="#v:-42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-60--42-">(&lt;*)</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:Focusing">Focusing</a> m s a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Focusing">Focusing</a> m s b -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Focusing">Focusing</a> m s a <a href="#v:-60--42-" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:FocusingWith" class="def">FocusingWith</a> w m s a <a href="src/Lens-Micro-Mtl-Internal.html#FocusingWith" class="link">Source</a> <a href="#t:FocusingWith" class="selflink">#</a></p><div class="doc"><p>Used by <code><a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a></code> to <code><a href="Lens-Micro-Mtl-Internal.html#v:zoom">zoom</a></code> into <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS.html#v:RWST">RWST</a></code>.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:FocusingWith" class="def">FocusingWith</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:unfocusingWith" class="def">unfocusingWith</a> :: m (s, a, w)</dfn><div class="doc empty">&nbsp;</div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:FocusingWith" class="caption collapser" onclick="toggleSection('i:FocusingWith')">Instances</p><div id="section.i:FocusingWith" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FocusingWith:Functor:1" class="instance expander" onclick="toggleSection('i:id:FocusingWith:Functor:1')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> (<a href="Lens-Micro-Mtl-Internal.html#t:FocusingWith">FocusingWith</a> w m s)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-126" class="link">Source</a> <a href="#t:FocusingWith" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:FocusingWith:Functor:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -&gt; b) -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingWith">FocusingWith</a> w m s a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingWith">FocusingWith</a> w m s b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(&lt;$)</a> :: a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingWith">FocusingWith</a> w m s b -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingWith">FocusingWith</a> w m s a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FocusingWith:Applicative:2" class="instance expander" onclick="toggleSection('i:id:FocusingWith:Applicative:2')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> s, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> w) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Lens-Micro-Mtl-Internal.html#t:FocusingWith">FocusingWith</a> w m s)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-132" class="link">Source</a> <a href="#t:FocusingWith" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:FocusingWith:Applicative:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pure">pure</a> :: a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingWith">FocusingWith</a> w m s a <a href="#v:pure" class="selflink">#</a></p><p class="src"><a href="#v:-60--42--62-">(&lt;*&gt;)</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:FocusingWith">FocusingWith</a> w m s (a -&gt; b) -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingWith">FocusingWith</a> w m s a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingWith">FocusingWith</a> w m s b <a href="#v:-60--42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-42--62-">(*&gt;)</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:FocusingWith">FocusingWith</a> w m s a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingWith">FocusingWith</a> w m s b -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingWith">FocusingWith</a> w m s b <a href="#v:-42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-60--42-">(&lt;*)</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:FocusingWith">FocusingWith</a> w m s a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingWith">FocusingWith</a> w m s b -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingWith">FocusingWith</a> w m s a <a href="#v:-60--42-" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:FocusingPlus" class="def">FocusingPlus</a> w k s a <a href="src/Lens-Micro-Mtl-Internal.html#FocusingPlus" class="link">Source</a> <a href="#t:FocusingPlus" class="selflink">#</a></p><div class="doc"><p>Used by <code><a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a></code> to <code><a href="Lens-Micro-Mtl-Internal.html#v:zoom">zoom</a></code> into <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Writer.html#v:WriterT">WriterT</a></code>.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:FocusingPlus" class="def">FocusingPlus</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:unfocusingPlus" class="def">unfocusingPlus</a> :: k (s, w) a</dfn><div class="doc empty">&nbsp;</div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:FocusingPlus" class="caption collapser" onclick="toggleSection('i:FocusingPlus')">Instances</p><div id="section.i:FocusingPlus" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FocusingPlus:Functor:1" class="instance expander" onclick="toggleSection('i:id:FocusingPlus:Functor:1')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> (k (s, w)) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> (<a href="Lens-Micro-Mtl-Internal.html#t:FocusingPlus">FocusingPlus</a> w k s)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-148" class="link">Source</a> <a href="#t:FocusingPlus" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:FocusingPlus:Functor:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -&gt; b) -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingPlus">FocusingPlus</a> w k s a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingPlus">FocusingPlus</a> w k s b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(&lt;$)</a> :: a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingPlus">FocusingPlus</a> w k s b -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingPlus">FocusingPlus</a> w k s a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FocusingPlus:Applicative:2" class="instance expander" onclick="toggleSection('i:id:FocusingPlus:Applicative:2')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> (k (s, w)) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Lens-Micro-Mtl-Internal.html#t:FocusingPlus">FocusingPlus</a> w k s)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-152" class="link">Source</a> <a href="#t:FocusingPlus" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:FocusingPlus:Applicative:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pure">pure</a> :: a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingPlus">FocusingPlus</a> w k s a <a href="#v:pure" class="selflink">#</a></p><p class="src"><a href="#v:-60--42--62-">(&lt;*&gt;)</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:FocusingPlus">FocusingPlus</a> w k s (a -&gt; b) -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingPlus">FocusingPlus</a> w k s a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingPlus">FocusingPlus</a> w k s b <a href="#v:-60--42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-42--62-">(*&gt;)</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:FocusingPlus">FocusingPlus</a> w k s a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingPlus">FocusingPlus</a> w k s b -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingPlus">FocusingPlus</a> w k s b <a href="#v:-42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-60--42-">(&lt;*)</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:FocusingPlus">FocusingPlus</a> w k s a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingPlus">FocusingPlus</a> w k s b -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingPlus">FocusingPlus</a> w k s a <a href="#v:-60--42-" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:FocusingOn" class="def">FocusingOn</a> f k s a <a href="src/Lens-Micro-Mtl-Internal.html#FocusingOn" class="link">Source</a> <a href="#t:FocusingOn" class="selflink">#</a></p><div class="doc"><p>Used by <code><a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a></code> to <code><a href="Lens-Micro-Mtl-Internal.html#v:zoom">zoom</a></code> into <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-Maybe.html#t:MaybeT">MaybeT</a></code> or <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-List.html#t:ListT">ListT</a></code>.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:FocusingOn" class="def">FocusingOn</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:unfocusingOn" class="def">unfocusingOn</a> :: k (f s) a</dfn><div class="doc empty">&nbsp;</div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:FocusingOn" class="caption collapser" onclick="toggleSection('i:FocusingOn')">Instances</p><div id="section.i:FocusingOn" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FocusingOn:Functor:1" class="instance expander" onclick="toggleSection('i:id:FocusingOn:Functor:1')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> (k (f s)) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> (<a href="Lens-Micro-Mtl-Internal.html#t:FocusingOn">FocusingOn</a> f k s)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-165" class="link">Source</a> <a href="#t:FocusingOn" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:FocusingOn:Functor:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -&gt; b) -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingOn">FocusingOn</a> f k s a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingOn">FocusingOn</a> f k s b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(&lt;$)</a> :: a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingOn">FocusingOn</a> f k s b -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingOn">FocusingOn</a> f k s a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FocusingOn:Applicative:2" class="instance expander" onclick="toggleSection('i:id:FocusingOn:Applicative:2')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> (k (f s)) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Lens-Micro-Mtl-Internal.html#t:FocusingOn">FocusingOn</a> f k s)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-169" class="link">Source</a> <a href="#t:FocusingOn" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:FocusingOn:Applicative:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pure">pure</a> :: a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingOn">FocusingOn</a> f k s a <a href="#v:pure" class="selflink">#</a></p><p class="src"><a href="#v:-60--42--62-">(&lt;*&gt;)</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:FocusingOn">FocusingOn</a> f k s (a -&gt; b) -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingOn">FocusingOn</a> f k s a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingOn">FocusingOn</a> f k s b <a href="#v:-60--42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-42--62-">(*&gt;)</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:FocusingOn">FocusingOn</a> f k s a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingOn">FocusingOn</a> f k s b -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingOn">FocusingOn</a> f k s b <a href="#v:-42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-60--42-">(&lt;*)</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:FocusingOn">FocusingOn</a> f k s a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingOn">FocusingOn</a> f k s b -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingOn">FocusingOn</a> f k s a <a href="#v:-60--42-" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:FocusingMay" class="def">FocusingMay</a> k s a <a href="src/Lens-Micro-Mtl-Internal.html#FocusingMay" class="link">Source</a> <a href="#t:FocusingMay" class="selflink">#</a></p><div class="doc"><p>Used by <code><a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a></code> to <code><a href="Lens-Micro-Mtl-Internal.html#v:zoom">zoom</a></code> into <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Error.html#v:ErrorT">ErrorT</a></code>.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:FocusingMay" class="def">FocusingMay</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:unfocusingMay" class="def">unfocusingMay</a> :: k (<a href="Lens-Micro-Mtl-Internal.html#t:May">May</a> s) a</dfn><div class="doc empty">&nbsp;</div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:FocusingMay" class="caption collapser" onclick="toggleSection('i:FocusingMay')">Instances</p><div id="section.i:FocusingMay" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FocusingMay:Functor:1" class="instance expander" onclick="toggleSection('i:id:FocusingMay:Functor:1')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> (k (<a href="Lens-Micro-Mtl-Internal.html#t:May">May</a> s)) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> (<a href="Lens-Micro-Mtl-Internal.html#t:FocusingMay">FocusingMay</a> k s)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-197" class="link">Source</a> <a href="#t:FocusingMay" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:FocusingMay:Functor:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -&gt; b) -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingMay">FocusingMay</a> k s a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingMay">FocusingMay</a> k s b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(&lt;$)</a> :: a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingMay">FocusingMay</a> k s b -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingMay">FocusingMay</a> k s a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FocusingMay:Applicative:2" class="instance expander" onclick="toggleSection('i:id:FocusingMay:Applicative:2')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> (k (<a href="Lens-Micro-Mtl-Internal.html#t:May">May</a> s)) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Lens-Micro-Mtl-Internal.html#t:FocusingMay">FocusingMay</a> k s)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-201" class="link">Source</a> <a href="#t:FocusingMay" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:FocusingMay:Applicative:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pure">pure</a> :: a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingMay">FocusingMay</a> k s a <a href="#v:pure" class="selflink">#</a></p><p class="src"><a href="#v:-60--42--62-">(&lt;*&gt;)</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:FocusingMay">FocusingMay</a> k s (a -&gt; b) -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingMay">FocusingMay</a> k s a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingMay">FocusingMay</a> k s b <a href="#v:-60--42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-42--62-">(*&gt;)</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:FocusingMay">FocusingMay</a> k s a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingMay">FocusingMay</a> k s b -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingMay">FocusingMay</a> k s b <a href="#v:-42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-60--42-">(&lt;*)</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:FocusingMay">FocusingMay</a> k s a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingMay">FocusingMay</a> k s b -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingMay">FocusingMay</a> k s a <a href="#v:-60--42-" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:FocusingErr" class="def">FocusingErr</a> e k s a <a href="src/Lens-Micro-Mtl-Internal.html#FocusingErr" class="link">Source</a> <a href="#t:FocusingErr" class="selflink">#</a></p><div class="doc"><p>Used by <code><a href="Lens-Micro-Mtl-Internal.html#t:Zoom">Zoom</a></code> to <code><a href="Lens-Micro-Mtl-Internal.html#v:zoom">zoom</a></code> into <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Error.html#v:ErrorT">ErrorT</a></code>.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:FocusingErr" class="def">FocusingErr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:unfocusingErr" class="def">unfocusingErr</a> :: k (<a href="Lens-Micro-Mtl-Internal.html#t:Err">Err</a> e s) a</dfn><div class="doc empty">&nbsp;</div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:FocusingErr" class="caption collapser" onclick="toggleSection('i:FocusingErr')">Instances</p><div id="section.i:FocusingErr" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FocusingErr:Functor:1" class="instance expander" onclick="toggleSection('i:id:FocusingErr:Functor:1')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> (k (<a href="Lens-Micro-Mtl-Internal.html#t:Err">Err</a> e s)) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> (<a href="Lens-Micro-Mtl-Internal.html#t:FocusingErr">FocusingErr</a> e k s)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-229" class="link">Source</a> <a href="#t:FocusingErr" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:FocusingErr:Functor:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -&gt; b) -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingErr">FocusingErr</a> e k s a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingErr">FocusingErr</a> e k s b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(&lt;$)</a> :: a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingErr">FocusingErr</a> e k s b -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingErr">FocusingErr</a> e k s a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FocusingErr:Applicative:2" class="instance expander" onclick="toggleSection('i:id:FocusingErr:Applicative:2')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> (k (<a href="Lens-Micro-Mtl-Internal.html#t:Err">Err</a> e s)) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Lens-Micro-Mtl-Internal.html#t:FocusingErr">FocusingErr</a> e k s)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-233" class="link">Source</a> <a href="#t:FocusingErr" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:FocusingErr:Applicative:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pure">pure</a> :: a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingErr">FocusingErr</a> e k s a <a href="#v:pure" class="selflink">#</a></p><p class="src"><a href="#v:-60--42--62-">(&lt;*&gt;)</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:FocusingErr">FocusingErr</a> e k s (a -&gt; b) -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingErr">FocusingErr</a> e k s a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingErr">FocusingErr</a> e k s b <a href="#v:-60--42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-42--62-">(*&gt;)</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:FocusingErr">FocusingErr</a> e k s a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingErr">FocusingErr</a> e k s b -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingErr">FocusingErr</a> e k s b <a href="#v:-42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-60--42-">(&lt;*)</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:FocusingErr">FocusingErr</a> e k s a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingErr">FocusingErr</a> e k s b -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:FocusingErr">FocusingErr</a> e k s a <a href="#v:-60--42-" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><h1 id="g:3">Effect (used for <code><a href="Lens-Micro-Mtl-Internal.html#t:Magnify">Magnify</a></code>)</h1><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:Effect" class="def">Effect</a> m r a <a href="src/Lens-Micro-Mtl-Internal.html#Effect" class="link">Source</a> <a href="#t:Effect" class="selflink">#</a></p><div class="doc"><p>Wrap a monadic effect with a phantom type argument.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Effect" class="def">Effect</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:getEffect" class="def">getEffect</a> :: m r</dfn><div class="doc empty">&nbsp;</div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:Effect" class="caption collapser" onclick="toggleSection('i:Effect')">Instances</p><div id="section.i:Effect" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Effect:Functor:1" class="instance expander" onclick="toggleSection('i:id:Effect:Functor:1')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> (<a href="Lens-Micro-Mtl-Internal.html#t:Effect">Effect</a> m r)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-499" class="link">Source</a> <a href="#t:Effect" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Effect:Functor:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -&gt; b) -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Effect">Effect</a> m r a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Effect">Effect</a> m r b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(&lt;$)</a> :: a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Effect">Effect</a> m r b -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Effect">Effect</a> m r a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Effect:Applicative:2" class="instance expander" onclick="toggleSection('i:id:Effect:Applicative:2')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> r) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Lens-Micro-Mtl-Internal.html#t:Effect">Effect</a> m r)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-509" class="link">Source</a> <a href="#t:Effect" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Effect:Applicative:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pure">pure</a> :: a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Effect">Effect</a> m r a <a href="#v:pure" class="selflink">#</a></p><p class="src"><a href="#v:-60--42--62-">(&lt;*&gt;)</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:Effect">Effect</a> m r (a -&gt; b) -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Effect">Effect</a> m r a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Effect">Effect</a> m r b <a href="#v:-60--42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-42--62-">(*&gt;)</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:Effect">Effect</a> m r a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Effect">Effect</a> m r b -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Effect">Effect</a> m r b <a href="#v:-42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-60--42-">(&lt;*)</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:Effect">Effect</a> m r a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Effect">Effect</a> m r b -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Effect">Effect</a> m r a <a href="#v:-60--42-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Effect:Monoid:3" class="instance expander" onclick="toggleSection('i:id:Effect:Monoid:3')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> r) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Lens-Micro-Mtl-Internal.html#t:Effect">Effect</a> m r a)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-503" class="link">Source</a> <a href="#t:Effect" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Effect:Monoid:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:Effect">Effect</a> m r a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:Effect">Effect</a> m r a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Effect">Effect</a> m r a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Effect">Effect</a> m r a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Lens-Micro-Mtl-Internal.html#t:Effect">Effect</a> m r a] -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Effect">Effect</a> m r a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:EffectRWS" class="def">EffectRWS</a> w st m s a <a href="src/Lens-Micro-Mtl-Internal.html#EffectRWS" class="link">Source</a> <a href="#t:EffectRWS" class="selflink">#</a></p><div class="doc"><p>Wrap a monadic effect with a phantom type argument. Used when magnifying <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-RWS.html#v:RWST">RWST</a></code>.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:EffectRWS" class="def">EffectRWS</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:getEffectRWS" class="def">getEffectRWS</a> :: st -&gt; m (s, st, w)</dfn><div class="doc empty">&nbsp;</div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:EffectRWS" class="caption collapser" onclick="toggleSection('i:EffectRWS')">Instances</p><div id="section.i:EffectRWS" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:EffectRWS:Functor:1" class="instance expander" onclick="toggleSection('i:id:EffectRWS:Functor:1')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> (<a href="Lens-Micro-Mtl-Internal.html#t:EffectRWS">EffectRWS</a> w st m s)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-522" class="link">Source</a> <a href="#t:EffectRWS" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:EffectRWS:Functor:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -&gt; b) -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:EffectRWS">EffectRWS</a> w st m s a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:EffectRWS">EffectRWS</a> w st m s b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(&lt;$)</a> :: a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:EffectRWS">EffectRWS</a> w st m s b -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:EffectRWS">EffectRWS</a> w st m s a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:EffectRWS:Applicative:2" class="instance expander" onclick="toggleSection('i:id:EffectRWS:Applicative:2')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> s, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> w, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Lens-Micro-Mtl-Internal.html#t:EffectRWS">EffectRWS</a> w st m s)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-526" class="link">Source</a> <a href="#t:EffectRWS" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:EffectRWS:Applicative:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pure">pure</a> :: a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:EffectRWS">EffectRWS</a> w st m s a <a href="#v:pure" class="selflink">#</a></p><p class="src"><a href="#v:-60--42--62-">(&lt;*&gt;)</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:EffectRWS">EffectRWS</a> w st m s (a -&gt; b) -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:EffectRWS">EffectRWS</a> w st m s a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:EffectRWS">EffectRWS</a> w st m s b <a href="#v:-60--42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-42--62-">(*&gt;)</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:EffectRWS">EffectRWS</a> w st m s a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:EffectRWS">EffectRWS</a> w st m s b -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:EffectRWS">EffectRWS</a> w st m s b <a href="#v:-42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-60--42-">(&lt;*)</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:EffectRWS">EffectRWS</a> w st m s a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:EffectRWS">EffectRWS</a> w st m s b -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:EffectRWS">EffectRWS</a> w st m s a <a href="#v:-60--42-" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><h1 id="g:4">Utilities</h1><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:May" class="def">May</a> a <a href="src/Lens-Micro-Mtl-Internal.html#May" class="link">Source</a> <a href="#t:May" class="selflink">#</a></p><div class="doc"><p>Make a <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> out of <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> for error handling.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:May" class="def">May</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:getMay" class="def">getMay</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</dfn><div class="doc empty">&nbsp;</div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:May" class="caption collapser" onclick="toggleSection('i:May')">Instances</p><div id="section.i:May" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:May:Monoid:1" class="instance expander" onclick="toggleSection('i:id:May:Monoid:1')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Lens-Micro-Mtl-Internal.html#t:May">May</a> a)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-182" class="link">Source</a> <a href="#t:May" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:May:Monoid:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:May">May</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:May">May</a> a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:May">May</a> a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:May">May</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Lens-Micro-Mtl-Internal.html#t:May">May</a> a] -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:May">May</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:Err" class="def">Err</a> e a <a href="src/Lens-Micro-Mtl-Internal.html#Err" class="link">Source</a> <a href="#t:Err" class="selflink">#</a></p><div class="doc"><p>Make a <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> out of <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Either.html#t:Either">Either</a></code> for error handling.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Err" class="def">Err</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:getErr" class="def">getErr</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Either.html#t:Either">Either</a> e a</dfn><div class="doc empty">&nbsp;</div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:Err" class="caption collapser" onclick="toggleSection('i:Err')">Instances</p><div id="section.i:Err" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Err:Monoid:1" class="instance expander" onclick="toggleSection('i:id:Err:Monoid:1')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> a =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Lens-Micro-Mtl-Internal.html#t:Err">Err</a> e a)</span> <a href="src/Lens-Micro-Mtl-Internal.html#line-214" class="link">Source</a> <a href="#t:Err" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Err:Monoid:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:Err">Err</a> e a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Lens-Micro-Mtl-Internal.html#t:Err">Err</a> e a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Err">Err</a> e a -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Err">Err</a> e a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Lens-Micro-Mtl-Internal.html#t:Err">Err</a> e a] -&gt; <a href="Lens-Micro-Mtl-Internal.html#t:Err">Err</a> e a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.3</p></div></body></html>