[{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Equiv\">Equiv</a> s c a","name":"Equiv","module":"Data.Equivalence.STT","link":"Data-Equivalence-STT.html#t:Equiv"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Class\">Class</a> s c a","name":"Class","module":"Data.Equivalence.STT","link":"Data-Equivalence-STT.html#t:Class"},{"display_html":"<a href=\"#v:leastEquiv\">leastEquiv</a> :: (<a href=\"/package/base-4.14.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m, <a href=\"/package/base-4.14.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> m) =&gt; (a -&gt; c) -&gt; (c -&gt; c -&gt; c) -&gt; <a href=\"/package/STMonadTrans-0.4.6/docs/Control-Monad-ST-Trans-Internal.html#t:STT\" title=\"Control.Monad.ST.Trans.Internal\">STT</a> s m (<a href=\"Data-Equivalence-STT.html#t:Equiv\" title=\"Data.Equivalence.STT\">Equiv</a> s c a)","name":"leastEquiv","module":"Data.Equivalence.STT","link":"Data-Equivalence-STT.html#v:leastEquiv"},{"display_html":"<a href=\"#v:getClass\">getClass</a> :: (<a href=\"/package/base-4.14.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m, <a href=\"/package/base-4.14.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> m, <a href=\"/package/base-4.14.3.0/docs/Data-Ord.html#t:Ord\" title=\"Data.Ord\">Ord</a> a) =&gt; <a href=\"Data-Equivalence-STT.html#t:Equiv\" title=\"Data.Equivalence.STT\">Equiv</a> s c a -&gt; a -&gt; <a href=\"/package/STMonadTrans-0.4.6/docs/Control-Monad-ST-Trans-Internal.html#t:STT\" title=\"Control.Monad.ST.Trans.Internal\">STT</a> s m (<a href=\"Data-Equivalence-STT.html#t:Class\" title=\"Data.Equivalence.STT\">Class</a> s c a)","name":"getClass","module":"Data.Equivalence.STT","link":"Data-Equivalence-STT.html#v:getClass"},{"display_html":"<a href=\"#v:combine\">combine</a> :: (<a href=\"/package/base-4.14.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m, <a href=\"/package/base-4.14.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> m, <a href=\"/package/base-4.14.3.0/docs/Data-Ord.html#t:Ord\" title=\"Data.Ord\">Ord</a> a) =&gt; <a href=\"Data-Equivalence-STT.html#t:Equiv\" title=\"Data.Equivalence.STT\">Equiv</a> s c a -&gt; <a href=\"Data-Equivalence-STT.html#t:Class\" title=\"Data.Equivalence.STT\">Class</a> s c a -&gt; <a href=\"Data-Equivalence-STT.html#t:Class\" title=\"Data.Equivalence.STT\">Class</a> s c a -&gt; <a href=\"/package/STMonadTrans-0.4.6/docs/Control-Monad-ST-Trans-Internal.html#t:STT\" title=\"Control.Monad.ST.Trans.Internal\">STT</a> s m (<a href=\"Data-Equivalence-STT.html#t:Class\" title=\"Data.Equivalence.STT\">Class</a> s c a)","name":"combine","module":"Data.Equivalence.STT","link":"Data-Equivalence-STT.html#v:combine"},{"display_html":"<a href=\"#v:combineAll\">combineAll</a> :: (<a href=\"/package/base-4.14.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m, <a href=\"/package/base-4.14.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> m, <a href=\"/package/base-4.14.3.0/docs/Data-Ord.html#t:Ord\" title=\"Data.Ord\">Ord</a> a) =&gt; <a href=\"Data-Equivalence-STT.html#t:Equiv\" title=\"Data.Equivalence.STT\">Equiv</a> s c a -&gt; [<a href=\"Data-Equivalence-STT.html#t:Class\" title=\"Data.Equivalence.STT\">Class</a> s c a] -&gt; <a href=\"/package/STMonadTrans-0.4.6/docs/Control-Monad-ST-Trans-Internal.html#t:STT\" title=\"Control.Monad.ST.Trans.Internal\">STT</a> s m ()","name":"combineAll","module":"Data.Equivalence.STT","link":"Data-Equivalence-STT.html#v:combineAll"},{"display_html":"<a href=\"#v:same\">same</a> :: (<a href=\"/package/base-4.14.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m, <a href=\"/package/base-4.14.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> m, <a href=\"/package/base-4.14.3.0/docs/Data-Ord.html#t:Ord\" title=\"Data.Ord\">Ord</a> a) =&gt; <a href=\"Data-Equivalence-STT.html#t:Equiv\" title=\"Data.Equivalence.STT\">Equiv</a> s c a -&gt; <a href=\"Data-Equivalence-STT.html#t:Class\" title=\"Data.Equivalence.STT\">Class</a> s c a -&gt; <a href=\"Data-Equivalence-STT.html#t:Class\" title=\"Data.Equivalence.STT\">Class</a> s c a -&gt; <a href=\"/package/STMonadTrans-0.4.6/docs/Control-Monad-ST-Trans-Internal.html#t:STT\" title=\"Control.Monad.ST.Trans.Internal\">STT</a> s m <a href=\"/package/base-4.14.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"same","module":"Data.Equivalence.STT","link":"Data-Equivalence-STT.html#v:same"},{"display_html":"<a href=\"#v:desc\">desc</a> :: (<a href=\"/package/base-4.14.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m, <a href=\"/package/base-4.14.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> m, <a href=\"/package/base-4.14.3.0/docs/Data-Ord.html#t:Ord\" title=\"Data.Ord\">Ord</a> a) =&gt; <a href=\"Data-Equivalence-STT.html#t:Equiv\" title=\"Data.Equivalence.STT\">Equiv</a> s c a -&gt; <a href=\"Data-Equivalence-STT.html#t:Class\" title=\"Data.Equivalence.STT\">Class</a> s c a -&gt; <a href=\"/package/STMonadTrans-0.4.6/docs/Control-Monad-ST-Trans-Internal.html#t:STT\" title=\"Control.Monad.ST.Trans.Internal\">STT</a> s m c","name":"desc","module":"Data.Equivalence.STT","link":"Data-Equivalence-STT.html#v:desc"},{"display_html":"<a href=\"#v:remove\">remove</a> :: (<a href=\"/package/base-4.14.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m, <a href=\"/package/base-4.14.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> m, <a href=\"/package/base-4.14.3.0/docs/Data-Ord.html#t:Ord\" title=\"Data.Ord\">Ord</a> a) =&gt; <a href=\"Data-Equivalence-STT.html#t:Equiv\" title=\"Data.Equivalence.STT\">Equiv</a> s c a -&gt; <a href=\"Data-Equivalence-STT.html#t:Class\" title=\"Data.Equivalence.STT\">Class</a> s c a -&gt; <a href=\"/package/STMonadTrans-0.4.6/docs/Control-Monad-ST-Trans-Internal.html#t:STT\" title=\"Control.Monad.ST.Trans.Internal\">STT</a> s m <a href=\"/package/base-4.14.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"remove","module":"Data.Equivalence.STT","link":"Data-Equivalence-STT.html#v:remove"},{"display_html":"<a href=\"#v:equate\">equate</a> :: (<a href=\"/package/base-4.14.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m, <a href=\"/package/base-4.14.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> m, <a href=\"/package/base-4.14.3.0/docs/Data-Ord.html#t:Ord\" title=\"Data.Ord\">Ord</a> a) =&gt; <a href=\"Data-Equivalence-STT.html#t:Equiv\" title=\"Data.Equivalence.STT\">Equiv</a> s c a -&gt; a -&gt; a -&gt; <a href=\"/package/STMonadTrans-0.4.6/docs/Control-Monad-ST-Trans-Internal.html#t:STT\" title=\"Control.Monad.ST.Trans.Internal\">STT</a> s m ()","name":"equate","module":"Data.Equivalence.STT","link":"Data-Equivalence-STT.html#v:equate"},{"display_html":"<a href=\"#v:equateAll\">equateAll</a> :: (<a href=\"/package/base-4.14.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m, <a href=\"/package/base-4.14.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> m, <a href=\"/package/base-4.14.3.0/docs/Data-Ord.html#t:Ord\" title=\"Data.Ord\">Ord</a> a) =&gt; <a href=\"Data-Equivalence-STT.html#t:Equiv\" title=\"Data.Equivalence.STT\">Equiv</a> s c a -&gt; [a] -&gt; <a href=\"/package/STMonadTrans-0.4.6/docs/Control-Monad-ST-Trans-Internal.html#t:STT\" title=\"Control.Monad.ST.Trans.Internal\">STT</a> s m ()","name":"equateAll","module":"Data.Equivalence.STT","link":"Data-Equivalence-STT.html#v:equateAll"},{"display_html":"<a href=\"#v:equivalent\">equivalent</a> :: (<a href=\"/package/base-4.14.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m, <a href=\"/package/base-4.14.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> m, <a href=\"/package/base-4.14.3.0/docs/Data-Ord.html#t:Ord\" title=\"Data.Ord\">Ord</a> a) =&gt; <a href=\"Data-Equivalence-STT.html#t:Equiv\" title=\"Data.Equivalence.STT\">Equiv</a> s c a -&gt; a -&gt; a -&gt; <a href=\"/package/STMonadTrans-0.4.6/docs/Control-Monad-ST-Trans-Internal.html#t:STT\" title=\"Control.Monad.ST.Trans.Internal\">STT</a> s m <a href=\"/package/base-4.14.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"equivalent","module":"Data.Equivalence.STT","link":"Data-Equivalence-STT.html#v:equivalent"},{"display_html":"<a href=\"#v:classDesc\">classDesc</a> :: (<a href=\"/package/base-4.14.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m, <a href=\"/package/base-4.14.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> m, <a href=\"/package/base-4.14.3.0/docs/Data-Ord.html#t:Ord\" title=\"Data.Ord\">Ord</a> a) =&gt; <a href=\"Data-Equivalence-STT.html#t:Equiv\" title=\"Data.Equivalence.STT\">Equiv</a> s c a -&gt; a -&gt; <a href=\"/package/STMonadTrans-0.4.6/docs/Control-Monad-ST-Trans-Internal.html#t:STT\" title=\"Control.Monad.ST.Trans.Internal\">STT</a> s m c","name":"classDesc","module":"Data.Equivalence.STT","link":"Data-Equivalence-STT.html#v:classDesc"},{"display_html":"<a href=\"#v:removeClass\">removeClass</a> :: (<a href=\"/package/base-4.14.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m, <a href=\"/package/base-4.14.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> m, <a href=\"/package/base-4.14.3.0/docs/Data-Ord.html#t:Ord\" title=\"Data.Ord\">Ord</a> a) =&gt; <a href=\"Data-Equivalence-STT.html#t:Equiv\" title=\"Data.Equivalence.STT\">Equiv</a> s c a -&gt; a -&gt; <a href=\"/package/STMonadTrans-0.4.6/docs/Control-Monad-ST-Trans-Internal.html#t:STT\" title=\"Control.Monad.ST.Trans.Internal\">STT</a> s m <a href=\"/package/base-4.14.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a>","name":"removeClass","module":"Data.Equivalence.STT","link":"Data-Equivalence-STT.html#v:removeClass"},{"display_html":"<a href=\"#v:values\">values</a> :: (<a href=\"/package/base-4.14.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m, <a href=\"/package/base-4.14.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> m, <a href=\"/package/base-4.14.3.0/docs/Data-Ord.html#t:Ord\" title=\"Data.Ord\">Ord</a> a) =&gt; <a href=\"Data-Equivalence-STT.html#t:Equiv\" title=\"Data.Equivalence.STT\">Equiv</a> s c a -&gt; <a href=\"/package/STMonadTrans-0.4.6/docs/Control-Monad-ST-Trans-Internal.html#t:STT\" title=\"Control.Monad.ST.Trans.Internal\">STT</a> s m [a]","name":"values","module":"Data.Equivalence.STT","link":"Data-Equivalence-STT.html#v:values"},{"display_html":"<a href=\"#v:classes\">classes</a> :: (<a href=\"/package/base-4.14.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m, <a href=\"/package/base-4.14.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> m, <a href=\"/package/base-4.14.3.0/docs/Data-Ord.html#t:Ord\" title=\"Data.Ord\">Ord</a> a) =&gt; <a href=\"Data-Equivalence-STT.html#t:Equiv\" title=\"Data.Equivalence.STT\">Equiv</a> s c a -&gt; <a href=\"/package/STMonadTrans-0.4.6/docs/Control-Monad-ST-Trans-Internal.html#t:STT\" title=\"Control.Monad.ST.Trans.Internal\">STT</a> s m [<a href=\"Data-Equivalence-STT.html#t:Class\" title=\"Data.Equivalence.STT\">Class</a> s c a]","name":"classes","module":"Data.Equivalence.STT","link":"Data-Equivalence-STT.html#v:classes"},{"display_html":"<span class=\"keyword\">class</span> (<a href=\"/package/base-4.14.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m, <a href=\"/package/base-4.14.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> m, <a href=\"/package/base-4.14.3.0/docs/Data-Ord.html#t:Ord\" title=\"Data.Ord\">Ord</a> v) =&gt; <a href=\"#t:MonadEquiv\">MonadEquiv</a> c v d m | m -&gt; v, m -&gt; c, m -&gt; d <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:equivalent\">equivalent</a> :: v -&gt; v -&gt; m <a href=\"/package/base-4.14.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:classDesc\">classDesc</a> :: v -&gt; m d</li><li><a href=\"#v:equateAll\">equateAll</a> :: [v] -&gt; m ()</li><li><a href=\"#v:equate\">equate</a> :: v -&gt; v -&gt; m ()</li><li><a href=\"#v:removeClass\">removeClass</a> :: v -&gt; m <a href=\"/package/base-4.14.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:getClass\">getClass</a> :: v -&gt; m c</li><li><a href=\"#v:combineAll\">combineAll</a> :: [c] -&gt; m ()</li><li><a href=\"#v:combine\">combine</a> :: c -&gt; c -&gt; m c</li><li><a href=\"#v:-61--61--61-\">(===)</a> :: c -&gt; c -&gt; m <a href=\"/package/base-4.14.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:desc\">desc</a> :: c -&gt; m d</li><li><a href=\"#v:remove\">remove</a> :: c -&gt; m <a href=\"/package/base-4.14.3.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:values\">values</a> :: m [v]</li><li><a href=\"#v:classes\">classes</a> :: m [c]</li></ul>","name":"MonadEquiv getClass combine combineAll desc remove equate equateAll equivalent classDesc removeClass values classes ===","module":"Data.Equivalence.Monad","link":"Data-Equivalence-Monad.html#t:MonadEquiv"},{"display_html":"<span class=\"keyword\">newtype</span> <a href=\"#t:EquivT\">EquivT</a> s c v m a = <a href=\"#v:EquivT\">EquivT</a> {<ul class=\"subs\"><li><a href=\"#v:unEquivT\">unEquivT</a> :: <a href=\"/package/mtl-2.3/docs/Control-Monad-Reader.html#t:ReaderT\" title=\"Control.Monad.Reader\">ReaderT</a> (<a href=\"Data-Equivalence-STT.html#t:Equiv\" title=\"Data.Equivalence.STT\">Equiv</a> s c v) (<a href=\"/package/STMonadTrans-0.4.6/docs/Control-Monad-ST-Trans-Internal.html#t:STT\" title=\"Control.Monad.ST.Trans.Internal\">STT</a> s m) a</li></ul>}","name":"EquivT EquivT unEquivT","module":"Data.Equivalence.Monad","link":"Data-Equivalence-Monad.html#t:EquivT"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:EquivT-39-\">EquivT'</a> s = <a href=\"Data-Equivalence-Monad.html#t:EquivT\" title=\"Data.Equivalence.Monad\">EquivT</a> s ()","name":"EquivT'","module":"Data.Equivalence.Monad","link":"Data-Equivalence-Monad.html#t:EquivT-39-"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:EquivM\">EquivM</a> s c v = <a href=\"Data-Equivalence-Monad.html#t:EquivT\" title=\"Data.Equivalence.Monad\">EquivT</a> s c v <a href=\"/package/base-4.14.3.0/docs/Data-Functor-Identity.html#t:Identity\" title=\"Data.Functor.Identity\">Identity</a>","name":"EquivM","module":"Data.Equivalence.Monad","link":"Data-Equivalence-Monad.html#t:EquivM"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:EquivM-39-\">EquivM'</a> s v = <a href=\"Data-Equivalence-Monad.html#t:EquivM\" title=\"Data.Equivalence.Monad\">EquivM</a> s () v","name":"EquivM'","module":"Data.Equivalence.Monad","link":"Data-Equivalence-Monad.html#t:EquivM-39-"},{"display_html":"<a href=\"#v:runEquivT\">runEquivT</a> :: (<a href=\"/package/base-4.14.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m, <a href=\"/package/base-4.14.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> m) =&gt; (v -&gt; c) -&gt; (c -&gt; c -&gt; c) -&gt; (<span class=\"keyword\">forall</span> s. <a href=\"Data-Equivalence-Monad.html#t:EquivT\" title=\"Data.Equivalence.Monad\">EquivT</a> s c v m a) -&gt; m a","name":"runEquivT","module":"Data.Equivalence.Monad","link":"Data-Equivalence-Monad.html#v:runEquivT"},{"display_html":"<a href=\"#v:runEquivT-39-\">runEquivT'</a> :: (<a href=\"/package/base-4.14.3.0/docs/Control-Monad.html#t:Monad\" title=\"Control.Monad\">Monad</a> m, <a href=\"/package/base-4.14.3.0/docs/Control-Applicative.html#t:Applicative\" title=\"Control.Applicative\">Applicative</a> m) =&gt; (<span class=\"keyword\">forall</span> s. <a href=\"Data-Equivalence-Monad.html#t:EquivT-39-\" title=\"Data.Equivalence.Monad\">EquivT'</a> s v m a) -&gt; m a","name":"runEquivT'","module":"Data.Equivalence.Monad","link":"Data-Equivalence-Monad.html#v:runEquivT-39-"},{"display_html":"<a href=\"#v:runEquivM\">runEquivM</a> :: (v -&gt; c) -&gt; (c -&gt; c -&gt; c) -&gt; (<span class=\"keyword\">forall</span> s. <a href=\"Data-Equivalence-Monad.html#t:EquivM\" title=\"Data.Equivalence.Monad\">EquivM</a> s c v a) -&gt; a","name":"runEquivM","module":"Data.Equivalence.Monad","link":"Data-Equivalence-Monad.html#v:runEquivM"},{"display_html":"<a href=\"#v:runEquivM-39-\">runEquivM'</a> :: (<span class=\"keyword\">forall</span> s. <a href=\"Data-Equivalence-Monad.html#t:EquivM-39-\" title=\"Data.Equivalence.Monad\">EquivM'</a> s v a) -&gt; a","name":"runEquivM'","module":"Data.Equivalence.Monad","link":"Data-Equivalence-Monad.html#v:runEquivM-39-"}]