!#e      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     (c) Fumiaki Kinoshita 2018BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com> Trustworthy&'+,-016;<=>?AFKQSTV]- extensibleIdeally, it will be 'Map Succ' extensible Last element extensibleFindType types extensible First element  extensibleUnicode flipped alias for   extensible,Find a type associated to the specified key.  extensibleMake the result more readable  extensibleA readable type search result extensible k v xs is essentially identical to  (k :> v) " xs , but the type v is inferred from k and xs. extensibleA synonym for () extensibleThe kind of key-value pairs extensiblex is a member of xs extensibleThe position of x in the type level set xs. extensibleget the position as an . extensible Generates a 2 that corresponds to the given ordinal (0-origin). extensibleRemember that  Member xs x from . extensible Make up a  from an integer. extensible/Embodies a type equivalence to ensure that the  points the first element. extensible Compare two s. extensible There is no  of an empty list. extensibleThe  points the first element  extensibleThe next membership/ !"#$%&'()*     0(c) Fumiaki Kinoshita 2018BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com> Trustworthy&'+,-16;<=FKQSTV0+-,./01+-,./01-5(c) Fumiaki Kinoshita 2018BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com> Trustworthy&'+,-16;<=FKQSTV7U2 extensibleReifies the structure of Isos6 extensible 6 :: Getter s a -> s -> a7 extensible 7& :: Getter s a -> (a -> r) -> (s -> r)8 extensible 8* :: Setter s t a b -> (a -> b) -> (s -> t)9 extensible"Recover tho functions from an Iso/: extensible : :: AReview s a -> a -> s 23456789: 54678923:(c) Fumiaki Kinoshita 2018BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com>None&'+,-013456;<=FKQSTVA< extensiblePoly-kinded product> extensiblePoly-kinded ConstA extensiblePoly-kinded compositionD extensible&The extensible data types should take k -> *T as a parameter. This class allows us to take a shortcut for direct representation.E extensibleE h v! is the actual representation of h v.F extensibleThis is an isomorphism between h v and E h v. !_Wrapper :: Iso' (h v) (Repr h v)G extensibleRestricted version of F.. It is useful for eliminating ambiguousness.H extensibleWrap a result of + <=>?@ABCDEFGH DEFG>?@ABCH<=(c) Fumiaki Kinoshita 2018BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com>None&'+,-16;<=>?FKQSTVO w extensible<HACK: Without this, the constraints are not propagated well.x extensibleEvery element in xs satisfies cy extensibleEnumerate all possible s of xs with an additional context.{ extensible(Every type-level list is an instance of {.| extensibleEnumerate all possible s of xs.} extensible Count the number of memberships.~ extensible Enumerate s and construct an +. extensibleThis class allows us to use  for both sums and products. extensibleAccessor for an element. extensibleLike %, but reckon membership from its key. extensible-Access a specified element through a wrapper. extensible$Access an element through a wrapper. extensible>Access an element specified by the key type through a wrapper.% wxyz{|}~% {|}~xyzw (c) Fumiaki Kinoshita 2018BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com>None&'+,-016;<=>?FKQSTVeX extensibleThe extensible sum type (:|) :: (k -> *) -> [k] -> * extensibleChange the wrapper. extensibleO(1) lift a value. extensible"Try to extract something you want. extensible"Try to extract something you want. extensibleO(1) Naive pattern match extensibleThere is no empty union. extensible&Embed a value, but focuses on its key. 1 (c) Fumiaki Kinoshita 2018BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com>None%&'+,-16;<=>?DFKQSTVmo extensibleConcatenate type level lists extensible The type of extensible products. (:*) :: (k -> *) -> [k] -> * extensibleA pointer to an element in a . extensibleMutable type-indexed struct. extensibleWrite a value in a . extensibleRead a value from a . extensible"Atomically modify an element in a . extensibleStrict version of . extensible*Apply a function to an element atomically. extensibleStrict version of . extensibleGet a  from a name. extensible Create a new  using the supplied initializer. extensible Create a  full of the specified value. extensible Create a new / using the supplied initializer with a context. extensible Create a new  from an HList. extensibleTurn ) into an immutable product. The original  may not be used. extensible Create a new  from a product. extensibleThe size of a product. extensibleCombine products. extensible$Right-associative fold of a product. extensibleConvert a product into an HList. extensible Create a new ! using the contents of a product. extensibleGet an element in a product. extensibleCreate a product from an , action which returns a . extensibleTurn a product into a  temporarily.5 (c) Fumiaki Kinoshita 2018BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com> Trustworthy%&'+,-016;<=>?FKQSTV8  extensible:O(n) Prepend an element onto a product. Expressions like a <: b <: c <: nil are transformed to a single . extensibleStrict version of (). extensibleAn empty product. extensibleConvert + into a product. extensibleFlipped  extensible-Map a function to every element of a product. extensible-Map a function to every element of a product. extensible;Transform every element in a product, preserving the order.  - "a -  (f . g) "a  f .  g  extensible. for heterogeneous product extensible/ for heterogeneous product extensible1Map elements to a monoid and combine the results.  f .  g "a  (f . g) extensible! with the membership of elements. extensible-Perform a strict left fold over the elements. extensible$ with a constraint for each element. extensible Constrained  extensible$ with a constraint for each element. extensible Constrained  extensible<Traverse all elements and combine the result sequentially.  htraverse (fmap f . g) "a fmap (hmap f) . htraverse g htraverse pure "a pure htraverse (Comp . fmap g . f) "a Comp . fmap (htraverse g) . htraverse f  extensible0 analog for extensible products extensible The dual of  extensible The dual of  extensible with s. extensible*A product filled with the specified value. extensible3Construct a product using a function which takes a .  f ( g) "a  (f . g)  ( m) "a m  ( k) "a k  extensible1 version of . extensiblePure version of . extensible*A product filled with the specified value. extensible1 version of . extensibleAccumulate sums on a product. extensible  haccum =  - extensibleGroup sums by type. extensible$Evaluate every element in a product..xyz{|}~.{|}~xyz00 (c) Fumiaki Kinoshita 2018BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com> Trustworthy&'+,-16;<=FKQSTV]a extensibleAlias for plain sums extensibleAlias for plain products extensibleO(log n) Add a plain value to a product. extensibleExtract a plain value. extensibleEmbed a plain value. extensible)Naive pattern matching for a plain value. extensible%An accessor for newtype constructors.51 (c) Fumiaki Kinoshita 2018BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com>None&'+,-16;<=FKQSTV extensible)Turn a wrapper type into a clause for it. extensibleORetrieve the contents so that they matches and pass both to the given function. extensible$Applies a function to the result of . extensibleO(1) Perform pattern matching. extensibleFlipped 0 (c) Fumiaki Kinoshita 2018BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com>None&'+,-16;<=>?FKQSTV  extensible Similar to , but this focuses on keys. extensible xs (k ':> v) is equivalent to  k v xs extensibleys contains xs extensibleUnicode alias for  extensible'Reify the inclusion of type level sets. extensibleO(n) Select some elements. extensibleO(1) Embed to a larger union. extensible'Reify the inclusion of type level sets. extensibleO(n) Select some elements. extensibleO(1) Embed to a larger union. (c) Fumiaki Kinoshita 2018BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com>None&'+,-16;<=FKQSTV]= extensible Wrapped Maybe extensible Apply a function to its content. extensibleThe inverse of . extensibleA product filled with  2 extensible,Extend a product and fill missing fields by Null. extensible)Narrow the range of the sum, if possible.(c) Fumiaki Kinoshita 2018BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com>None&'+,-016;<=>?FKQSTVl extensible*A ghostly type which spells the field name extensible!Signifies a field name internally extensible4When you see this type as an argument, it expects a  FieldLensA. This type is used to resolve the name of the field internally.  extensible"The trivial inextensible data type  extensible FieldOptic s; is a type of optics that points a field/constructor named s.The yielding fields can be  Jhttp://hackage.haskell.org/package/lens/docs/Control-Lens-Lens.html#t:LensLenses for  s and  Khttp://hackage.haskell.org/package/lens/docs/Control-Lens-Lens.html#t:PrismPrisms for  s.  ( "foo" = Associate "foo" a xs => Lens' (  xs) a  ) "foo" = Associate "foo" a xs => Prism' (  xs) a  s can be generated using mkField defined in the Data.Extensible.TH module.  extensibleSimple variant  extensible Simple record  extensible The dual of  )VariantOf :: (v -> *) -> [Assoc k v] -> * extensible1The type of records which contain several fields. (RecordOf :: (v -> *) -> [Assoc k v] -> * extensibleA  h (k ':> v) is h v annotated with the field name k.  :: (v -> *) -> Assoc k v -> * extensibleConstraint applied to  extensibleConstraint applied to  extensibleCombined constraint for  extensibleTake the type of the value extensibleTake the type of the key extensible Proxy-level . This is useful when using 3. extensible Proxy-level . extensibleGet a string from a proxy of  4 v. extensible Lift a function for the content. extensible Lift a function for the content. extensible An empty  . extensible*Select a corresponding field of a variant. extensiblePattern matching on a   extensible#Annotate a value by the field name. foo ::  O '["num" >: Int, "str" >: String] foo = #num @= 42 <: #str @= "foo" <: nil   extensibleLifted ()  foo :: IO ( h '["num" >: Int, "str" >: String]) foo = hsequence $ #num <@=> readLn <: #str <@=> getLine <: nil ! extensible+Annotate a value by the field name without D." extensible'Kind-monomorphic, unwrapped version of ' extensible Shows in field @= value" style instead of the derived one.      !" !"     1 1!1"1(c) Fumiaki Kinoshita 2018BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com>None&'+,-16;<=FKQSTVժE extensibleE h xs mA is the monad of computations that may depend on the elements in xs.H extensible#Hitch an element associated to the  through a wrapper.I extensible6Take a value from the tangles. The result is memoized.J extensibleRun a E8 action and return the result and the calculated values.K extensibleRun a E action.L extensible-Run tangles and collect all the results as a  .EFGHIJKLEFGHIJKL(c) Fumiaki Kinoshita 2018BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com>None&'+,-16;<=FKQSTV]1S extensible3The class of types that can be converted to/from a  .W extensibleConvert a value into a  .X extensible Convert a   to a value.Y extensible 5record :: IsRecord a => Iso' a (Record (RecFields a))Z extensible Create an S* instance for a normal record declaration.STUVWXYZSTUVWXYZ(c) Fumiaki Kinoshita 2018BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com>None&'+,-16;<=>?FKQSTV\ extensibleSpecialised version of .\\(c) Fumiaki Kinoshita 2018BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com>None&'+,-0136;<=FKQSTV] _ extensibleSimple option descriptor` extensible5 with a defaultb extensibleIOption without an argument; the result is the total count of this option.c extensibleTrue when specifiedd extensibleWrapper-generic version of be extensibleOption with an argumentf extensible8Takes the last argument when more than one is specified.g extensibleWrapper-generic version of eh extensible-Construct an option with an optional argumenti extensibleParse option arguments.j extensibleyAn all-in-one utility function. When there's an error, print it along with the usage info to stderr and terminate with 6.b extensible short option extensible long option extensible explanationc extensible short option extensible long option extensible explanatione extensible short option extensible long option extensible placeholder extensible explanationf extensible short option extensible long option extensible placeholder extensible explanationi extensiblea record of option descriptors extensible arguments extensible2(result, remaining non-options, errors, usageInfo)j extensibleNon-option usage extensibleoption desciptors extensible#the result and non-option arguments _`abcdefghij `a_ijcfbedgh(c) Fumiaki Kinoshita 2018BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com>None&'+,-16;<=FKQSTV.l6m extensibleThrowing an exceptionn extensibleAn effect with no resulto extensible(,) already is a writer monad.p extensiblefThe reader monad is characterised by a type equality between the result type and the enviroment type.q extensibleq [a, b, c] r is a -> b -> c -> rr extensible)Anonymous representation of instructions.u extensibleTransformation between effectsx extensibleA function to bind an z in .y extensible The extensible operational monadz extensible.A unit of named effects. This is a variant of (:|)! specialised for 'Type -> Type'.| extensibleLift an instruction onto an y action.} extensibleLift an instruction onto an y+ action and apply a function to the result.~ extensible/Censor a specific type of effects in an action. extensibleUpcast an action. extensible7Build a relay-style handler from a triple of functions. `runStateEff = peelEff1 (a s -> return (a, s)) (m k s -> let (a, s') = runState m s in k a s')  extensible/ specialised for continuations with no argument extensible( specialised for 1-argument continuation extensible*A common value for the second argument of !. Binds an instruction directly. extensible/A pre-defined value for the second argument of .. Preserves the argument of the continuation. extensible/A pre-defined value for the second argument of /. Preserves two arguments of the continuation. extensibleReveal the final result of y. extensibleTear down an action using the 7 instance of the instruction. extensible Process an y action using a record of us. extensiblePass the arguments of r to the supplied function. extensible Create a  of a u for an r. extensibleSpecialised version of  for rs. You can pass a function a -> b -> ... -> (q -> r) -> r as a handler for r '[a, b, ...] q. extensible$Non continuation-passing variant of . extensibleFetch the environment. extensible#Pass the environment to a function. extensibleModify the enviroment locally. extensibleRun the frontal reader effect. extensibleGet the current state. extensible%Pass the current state to a function. extensible#Replace the state with a new value. extensibleModify the state. extensible#Lift a state modification function. extensibleRun the frontal state effect. extensible8Run the frontal state effect and return the final state. extensible9Run the frontal state effect and return the final result. extensible6Write the second element and return the first element. extensibleWrite a value. extensible/Squash the outputs into one step and return it. extensible3Modify the output using the function in the result. extensibleRun the frontal writer effect. extensibleRun the frontal state effect. extensible)Break out of the computation. Similar to 2. extensible,Run an effect which may fail in the name of k. extensibleThrow an exception e,, throwing the rest of the computation away. extensible"Attach a handler for an exception. extensibleRun an action and abort on . extensible!Put a milestone on a computation. extensible*Run a computation until the first call of . extensible$Place a continuation-passing action. extensibleUnwrap a continuation. extensibleRe-bind an unrelated action extensiblereturn the result extensible%Handle the foremost type of an action extensiblereturn the result extensible%Handle the foremost type of an action extensiblereturn the result extensible%Handle the foremost type of an action extensibleRe-bind an unrelated action extensiblereturn the result extensibleHandle the foremost action extensibleHandle the foremost action>mnopqrstuvwxyz{|}~>z{y|}~uvwxrstqponm1(c) Fumiaki Kinoshita 2018BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com> Trustworthy%&'+,-16;<=FKQSTV]B\ extensibleGenerate fields using .  "foo Bar" defines: Rfoo :: FieldOptic "foo" foo = itemAssoc (Proxy :: Proxy "foo") _Bar :: FieldOptic Bar" _Bar = itemAssoc (Proxy :: Proxy Bar)  extensible (mkName "foo") "bar" defines a field for "bar" as foo. extensible/Generate named effects from a GADT declaration. LdecEffects [d| data Blah a b x where Blah :: Int -> a -> Blah a b b |]  generates type Blah a b = "Blah" >: Action '[Int, a] b blah :: forall xs a b . Associate "Blah" (Action '[Int, a] b) xs => Int -> a -> Eff xs b blah a0 a1 = liftEff (Data.Proxy.Proxy :: Data.Proxy.Proxy "Blah") (AArgument a0 (AArgument a1 AResult))  extensibleWInstead of making a type synonym for individual actions, it defines a list of actions. extensibleKGenerates type synonyms for the set of actions and also individual actions. extensible+Generate effect suite with custom settings. extensible(generate a synonym of the set of actions extensible(generate synonyms for individual actions(c) Fumiaki Kinoshita 2018BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com>None&'+,-16;<=>?FKQSTVM extensiblemtl-compatible either effect extensibleSame as  () extensiblemtl-compatible writer extensiblemtl-compatible state extensiblemtl-compatible reader extensibleSpecialised version of  compatible with the 8 instance. extensible specialised for the 9 instance. extensible specialised for the 9 instance. extensible specialised for the 9 instance. extensible specialised for the : instance. extensible specialised for the : instance. extensible Similar to  runMaybeT , but on y extensible Similar to ; , but on y extensible A bit dubious  (c) Fumiaki Kinoshita 2018BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com>None&'+,-16;<=>?FKQSTVSK extensible%Composition for a class and a wrapper extensibleForall upon a wrapper extensible0Reify a collection of dictionaries, as you wish. extensible parseJSON < is called for missing fields.(c) Fumiaki Kinoshita 2018BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com>None&'+,-16;<=>?FKQSTV_p  extensibleBit-packed record extensibleBit-packed record extensibleFields are instances of  and fit in the representation. extensible4Conversion between a value and a bit representation. Instances of ! must satisfy the following laws: HfromBits (x `shiftL` W .|. toBits a) "a a toBits a `shiftR` W == zeroBitswhere W is the . extensibleTotal  extensible0Bit-vector product. It has similar interface as (:*) but fields are packed into r. extensible5Convert a normal extensible record into a bit record. extensible5Convert a normal extensible record into a bit record. extensible for  extensibleUpdate a field of a .(c) Fumiaki Kinoshita 2018BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com>None&'+,-16;<=FKQSTVa <=>?@ABCDEFGHwxyz{|}~      !"EFGHIJKLSTUVWXYZ\mnopqrstuvwxyz{|}~= !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPPQRSTUVWXYYZZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~      O N L M                      !""#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWWXYZ[\]^_`abcdefghijklmnopqqrstuvwxyz{|}~      !"#$%&'%&()**+,+-+.+/+0+1+2+3+4+5+6+7+8+9:;<=:>?@?ABC:D:EF%&GHIJK:LMNOMPQMRSTUVWXY(extensible-0.4.10-1w9j3i1U9Si7cH6Q7IPuj8Data.ExtensibleData.Extensible.EffectData.Extensible.InternalData.Extensible.HListData.Extensible.Internal.RigData.Extensible.WrapperData.Extensible.ClassData.Extensible.SumData.Extensible.StructData.Extensible.ProductData.Extensible.PlainData.Extensible.MatchData.Extensible.InclusionData.Extensible.NullableData.Extensible.FieldData.Extensible.TangleData.Extensible.RecordData.Extensible.LabelData.Extensible.GetOptData.Extensible.THData.Extensible.Effect.DefaultData.Extensible.DictionaryData.Extensible.Bitsbase GHC.TypeLits KnownSymbolData.Functor.IdentityIdentity Data.ProxyProxytransformers-0.5.5.0Control.Monad.Trans.ContContT Control.Monad.Trans.State.StrictStateLastFindTypeHead∈ FindAssoc Elaborate Elaborated ExpectingMissing Duplicate Associate association>:Assoc:>Member membership Membership getMemberId mkMembershiprememberreifyMembership leadershipcompareMembershipimpossibleMembershipherenavNext$fSemigroupMembership$fOrdMembership$fEqMembership$fPrettyMembership$fShowMembership$fHashableMembership$fLiftMembership$fAssociatekvkvxs $fMemberkxsx$fNFDataMembershipHListHNilHCons htraversehtraverseWithIndexhfoldrWithIndexhlengthExchangeOptic'OpticviewviewsoverwithIsoreview$fProfunctorExchangeProdConst' getConst'CompgetCompWrapperRepr_Wrapper _WrapperAscomp$fWrapperkProxy$fWrapperTYPE[]$fWrapperTYPEEither$fWrapperTYPEMaybe$fWrapperTYPEIdentity$fWrapperkComp $fLiftComp$fWrapperkConst'$fArbitraryProd $fMonoidProd$fSemigroupProd$fWrapperkProd$fHashableProd $fNFDataProd $fShowComp$fEqComp $fOrdComp $fNFDataComp $fGenericComp$fSemigroupComp $fMonoidComp$fArbitraryComp$fHashableComp $fPrettyComp $fShowConst' $fEqConst' $fOrdConst'$fGenericConst'$fNFDataConst'$fSemigroupConst'$fMonoidConst'$fFunctorConst'$fFoldableConst'$fTraversableConst'$fArbitraryConst'$fHashableConst' $fShowProd$fEqProd $fOrdProd $fGenericProd $fFunctorProd$fFoldableProd$fTraversableProd$fTraversableComp$fFoldableComp $fFunctorCompForallFForall henumerateForhgenerateListForGenerate henumeratehcount hgenerateList ExtensibleExtensibleConstrpieceAtpiece pieceAssocitemAtitem itemAssoc $fGeneratek: $fGeneratek[] $fForallac: $fForallkc[]:|EmbedAthoistembedstrikestrikeAt<:|exhaust embedAssoc$fExtensiblekfp:| $fBounded:|$fEnum:|++:*WrappedPointerStructsetget atomicModify atomicModify' atomicModify_atomicModify'_-$>new newRepeatnewFor newFromHList unsafeFreezethawhappendtoHListnewFromhlookuphfrozenhmodify$fHasUpdateWrappedPointeraa$fHasSetterWrappedPointera$fHasGetterWrappedPointera$fExtensiblekfp:*<:@:>@==$fKeyValuekvpkpv:> $fKeyIskvpk:>$fValueIskvpv:> $fPrettyField $fShowField$fWrapperAssocField $fLiftField $fUnboxField$fVectorVectorField$fMVectorMVectorField$fExtensiblekfpInextensible$fProfunctorLabelPhantom$fGenericField $fToJSONField$fFromJSONField$fToFieldField$fFromFieldField$fHashableField$fArbitraryField $fNFDataField$fBoundedField $fEnumField $fMonoidField$fStorableField$fSemigroupField$fRealFracField$fRealFloatField $fRealField$fFloatingField$fFractionalField$fIntegralField $fNumField $fOrdField $fEqFieldTangleT unTangleTlassohitchAt runTangleT evalTangleT runTangles$fMonoidTangleT$fSemigroupTangleT$fMonadTransTangleT$fFunctorTangleT$fApplicativeTangleT$fMonadTangleTIsRecord RecFieldsrecordFromList recordToListtoRecord fromRecordrecordderiveIsRecord $fIsRecord()訊$fIsLabelk(->)$fIsLabelkProxy OptDescr' OptionDescroptNoArgoptFlag optionNoArg optReqArg optLastArg optionReqArg optionOptArg getOptRecord withGetOpt$fWrapperkOptionDescr$fFunctorOptionDescr EitherEffMaybeEff WriterEff ReaderEffFunctionActionAResult AArgument InterpreterrunInterpreterRebinderEff InstructionliftEffliftsEffhoistEffcastEffpeelEffpeelEff0peelEff1 rebindEff0 rebindEff1 rebindEff2leaveEff retractEff handleEff runAction@!? peelAction peelAction0askEffasksEfflocalEff runReaderEffgetEffgetsEffputEff modifyEffstateEff runStateEff execStateEff evalStateEff writerEfftellEff listenEffpassEff runWriterEff execWriterEff nothingEff runMaybeEffthrowEffcatchEff runEitherEfftickEff runIterEffcontEff runContEffmkField mkFieldAs decEffects decEffectSetdecEffectSuitecustomDecEffects EitherDefMaybeDef WriterDefStateDef ReaderDef runReaderDef runStateDef evalStateDef execStateDef runWriterDef execWriterDef runMaybeDef runEitherDef$fMonadPlusSkeleton$fAlternativeSkeleton$fMonadErroreSkeleton$fMonadWriterwSkeleton$fMonadStatesSkeleton$fMonadReaderrSkeleton$fMonadCatchSkeleton$fMonadThrowSkeleton$fMonadResourceSkeleton$fMonadIOSkeleton Instance1 WrapForallAndlibrary $fUnboxConst'$fVectorVectorConst'$fMVectorMVectorConst'$fUnboxIdentity$fVectorVectorIdentity$fMVectorMVectorIdentity $fAndkfgx$fInstance1kkchx $fToJSON:* $fFromJSON:* $fToJSON:*0 $fFromJSON:*0$fToNamedRecord:*$fFromNamedRecord:* $fPretty:| $fArbitrary:|$fLift:| $fHashable:| $fNFData:|$fOrd:|$fEq:|$fShow:| $fToRecord:*$fFromRecord:* $fNFData:* $fArbitrary:* $fUnbox:*$fMVectorMVector:*$fVectorVector:*$fLift:* $fBounded:* $fHashable:* $fMonoid:* $fSemigroup:*$fOrd:*$fEq:* $fPretty:*$fShow:* BitRecord BitRecordOf BitFieldsFromBitsBitWidthfromBitstoBits TotalBitsBitProd unBitProd toBitProd fromBitProdblookupbupdate$fFromBitsrField$fFromBitsrConst'$fFromBitsr(,)$fFromBitsrIdentity$fFromBitsWord64Int32$fFromBitsWord64Int16$fFromBitsWord64Int8$fFromBitsWord64Word32$fFromBitsWord64Word16$fFromBitsWord64Word8$fFromBitsWord64Bool$fFromBitsWord64Word64$fFromBitsrProxy $fFromBitsr()$fFromBitsrBitProd$fExtensiblekfpBitProd $fShowBitProd $fEqBitProd $fOrdBitProd $fEnumBitProd$fBoundedBitProd $fIxBitProd$fGenericBitProd$fHashableBitProd$fStorableBitProdMapSuccghc-prim GHC.TypesInt~~ asProxyTypeOfKProxyData.Type.Equalityouterinnerapply gcastWithcastWithtranssym:~:Refl:~~:HRefl TestEquality testEquality==GHC.BasefmapGHC.STSTidGHC.ListzipWithzipWith3Data.Traversablesequence ApplicativeNothing symbolValSymbolSystem.Console.GetOptOptDescr System.Exit exitFailureMonad mtl-2.2.2Control.Monad.Reader.Class MonadReaderControl.Monad.State.Class MonadStateControl.Monad.Writer.Class MonadWriterControl.Monad.Trans.Except runExceptT$aeson-1.4.0.0-7FkrknqMzN6EEUGxujx6f6Data.Aeson.Types.InternalNull