Îõ³h$ ê à'      !"#$%& Safe-Inferred'(./25?ÅÉÔÖ×Ùàìè'()*+,-.None'(./25?ÅÉÔÖ×Ùàìjpolysemy-pluginData kind for /.polysemy-pluginÎAll of the things from "polysemy" that we need access to in the plugin. When l ~ 'Locations0, each of these is just a pair of strings. When  l ~ 'Things(, it's actually references to the stuff. polysemy-pluginLookup all of the .   None'(./25?ÅÉÔÖ×Ùàì  polysemy-plugin0 s don't have 1 or 2‡ instances by default, even though there are functions in GHC that implement these operations. This newtype gives us those instances.polysemy-plugin>A wrapper for two types that we want to say have been unified.polysemy-plugin corresponds to whether we are only trying to solve a single MemberÆ constraint right now. If so, we *must* produce a unification wanted.polysemy-plugin­Depending on the context in which we're solving a constraint, we may or may not want to force a unification of effects. For example, when defining user code whose type is Member (State Int) r => ... , if we see get :: Sem r s, we should unify s ~ Int.polysemy-plugin3Determine whether or not two effects are unifiable.ŒAll free variables in [W] constraints are considered skolems, and thus are not allowed to unify with anything but themselves. This properly handles all cases in which we are unifying ambiguous [W] constraints (which are true type variables) against [G] constraints.polysemy-pluginéFilter out the unifications we've already emitted, and then give back the things we should put into the S.Set Unification*, and the new constraints we should emit.polysemy-pluginwantedpolysemy-plugingiven   Safe-Inferred'(./25?ÅÉÔÖ×Ùàì _ polysemy-plugin>Returns the head of the list iff there is exactly one element.!polysemy-pluginLike , but in the context of an 4."polysemy-pluginCount the number of times a is present in the list. !" !"None&'(./25?ÅÉÎÔÖ×Ùàì  ##None'(./25?ÅÉÔÖ×Ùàì Ú&&5       !"#$%&'()*+,-./0123456789:;9:<9=>?@AÂ.polysemy-plugin-0.4.1.0-7rDnpLJrxee3NAH9SGGPYMPolysemy.Plugin.Fundep.Stuff"Polysemy.Plugin.Fundep.UnificationPolysemy.Plugin.Fundep.UtilsPolysemy.Plugin.FundepPolysemy.PluginPaths_polysemy_plugin Control.Monadwhen LookupState LocationsThings PolysemyStuff findClasssemTyCon ifStuckTyConlocateEffectTyCon polysemyStuff$fCanLookupTyCon$fCanLookupClassOrdType getOrdType Unification _unifyLHS _unifyRHS SolveContext FunctionDefInterpreterUse mustUnifyunifytryUnifyUnivarsButNotSkolemsunzipNewWanteds $fOrdOrdType $fEqOrdType$fEqUnification$fOrdUnification$fEqSolveContext$fOrdSolveContextsingleListToJustwhenA countLength fundepPlugin$fOrdPredType' $fEqPredType'pluginversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNameThingOfghcTyCoRepTypeghc-prim GHC.ClassesEqOrd GHC.TypesBoolbaseGHC.Base Alternative