úÎDÇ@ðG      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFNone$*+,/9:;<=?DILOQRTbhABidirectional pattern matching the first field of a record using  values and any functor._This pattern is bidirectional meaning you can use it either as a pattern or a constructor, e.g. X let rec = Just 123 :^: Just "foo" :^: RNil Just foo :^: Just bar :^: RNil = rec  Mnemonic: ^- for products (record) of products (functor). ABidirectional pattern matching the first field of a record using  values and the G functor._This pattern is bidirectional meaning you can use it either as a pattern or a constructor, e.g. I let rec = 123 :*: Just "foo" :*: RNil foo :*: bar :*: RNil = rec  Mnemonic: * for products. -Reflect the type level name of a named value s :-> a to a Text. For example, given  "foo" :-> Int , yields  "foo" :: Text 8Extract the value and reflect the name of a named value. 1Lens to a particular field of a record using the G functor.For example, given: k type FFoo = "foo" :-> Int type FBar = "bar" :-> String fBar_ :: Proxy FBar fBar_ = Proxy rec ::  G0 '[FFoo, FBar] rec = 123 :*: "hello!" :*: Nil Then: ½ view (rlens fBar_) rec == "hello!" set (rlens fBar_) "goodbye!" rec == 123 :*: "goodbye!" :*: Nil over (rlens fBar_) (map toUpper) rec == 123 :*: "HELLO!" :*: Nil 9Lens to a particular field of a record using any functor.For example, given: k type FFoo = "foo" :-> Int type FBar = "bar" :-> String fBar_ :: Proxy FBar fBar_ = Proxy rec ::  H: '[FFoo, FBar] rec = Just 123 :^: Just "hello!" :^: Nil Then: ê view (rlens' fBar_) rec == Just "hello!" set (rlens' fBar_) Nothing rec == Just 123 :^: Nothing :^: Nil over (rlens' fBar_) (fmap (map toUpper)) rec == Just 123 :^: Just "HELLO!" :^: Nil  I     I5 5None$*+,/9:;<=?DILOQRTbh%Make J definitions for each of the type„ synonyms in the given block of declarations. The proxies have the same names as the synonyms but with the first letter lowercased. For example: 7 withProxies [d| type FFoo = "foo" :-> Int |] Is equivalent to: @ type FFoo = "foo" :-> Int fFoo :: Proxy FFoo fFoo = Proxy Note: the trailing |]K of the quasi quote bracket has to be indented or a parse error will occur.&Make   and J definitions for each of the type± synonyms in the given block of declarations. The lenses have the same names as the synonyms but with the first letter lowercased. The proxies have that name but with _ suffix. For example: @ withLensesAndProxies [d| type FFoo = "foo" :-> Int |] Is equivalent to: ™ type FFoo = "foo" :-> Int fFoo :: RElem FFoo rs (RIndex FFoo rs) => Lens' (Record rs) Int fFoo = rlens fFoo_ fFoo_ :: Proxy FFoo fFoo_ = Proxy Note: the trailing |]K of the quasi quote bracket has to be indented or a parse error will occur.%&%&%&%&None$*+,/9:;<=?DILOQRTbh'VMonad transformer which adds an implicit environment which is a record. Isomorphic to ReaderT (Record c) m.*VClass of monad (stacks) which have context reading functionality baked in. Similar to 5 but can coexist with a another monad that provides ) and requires the context to be a record.+.Fetch the context record from the environment.,MRun some action which has the same type of context with the context modified.-7Project some value out of the context using a function..LProject some value out of the context using a lens (typically a field lens)./`Permute the current context with a function and then run some action with that modified context.0!Transform the monad underlying a ' using a natural transform. '()*+,-./0123456789:;<=>?@ABCDEF '()*+,-./0 '()/0*+,-.'()*+,-./0123456789:;<=>?@ABCDEFNone$*+,/9:;<=?DILOQRTbh K      !"#$%&'()*+,-./00123456789:;<=>?@ABCDEFGHIJKLMNOPQORSTOUVW-composite-base-0.3.1.0-1HX8WByR62NEK1qqe5yJzNComposite.Record Composite.THControl.Monad.Composite.ContextControl.Monad.Reader MonadReader Composite"vinyl-0.5.3-AlVcFvvXpE6Bz1gmYs9V5fData.Vinyl.Core:&RNilRec:->ValgetValRElemRecord:^::*:valName valWithNamerlensrlens' $fShow:-> $fMonad:->$fTraversable:-> $fFoldable:->$fApplicative:-> $fFunctor:-> $fWrapped:->$fRewrapped:->t $fStorable:->$fSemigroup:-> $fRealFrac:->$fRealFloat:-> $fReal:->$fOrd:->$fNum:-> $fMonoid:-> $fIsString:-> $fIntegral:->$fFractional:-> $fFloating:->$fEq:-> $fEnum:-> $fBounded:-> withProxieswithLensesAndProxiesContextT runContextT MonadContext askContext localContext asksContextaskField withContext mapContextT$fMonadMaskContextT$fMonadCatchContextT$fMonadThrowContextT$fMonadContContextT$fMonadPlusContextT$fMonadErroreContextT$fMonadFailContextT$fMonadFixContextT$fMonadRWSrwsContextT$fMonadStatesContextT$fMonadWriterwContextT$fMonadReaderrContextT$fMonadBaseControlbContextT$fMonadBasebContextT$fMonadTransControlContextT$fMonadTransContextT$fMonadIOContextT$fMonadContextT$fAlternativeContextT$fApplicativeContextT$fFunctorContextT$fMonadContextcContextTbaseData.Functor.IdentityIdentityGHC.BaseMaybeD:R:Unwrapped:-> Data.ProxyProxy