!$A}      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|None7=>?@ACHVX_ka  control-isoA wrapper for Maybe ()! that decides the isomorphism to } is ~ biased control-isoA wrapper for Maybe ()! that decides the isomorphism to } is  biased control-isoA wrapper for  Either () ()! that decides the isomorphism to } is  biased  control-isoA wrapper for  Either () ()! that decides the isomorphism to } is  biased  control-iso)This type class provides a single method   , which is a  bijective function from a to b. We leverage UndecidableSuperClasses" to demand that every instance of   have an inverse. The sister instance (which may be the same instance) must have the follwing property when used with the    to' . to' = id Note, this class documents type isomorphisms specifically, where two types are isomorphic to one another. It does not document endoisomorphisms. control-isoComposition of two bijections control-iso"This is the perfer version of the  ) function. The order of arguments in forallS has been set up so that the codomain is first. This is important to work with TypeApplications.  to @Text "hi there" )For call sites where we need to annotate. control-isoThis is the same as  but has the forall arguments with a first. control-iso6lift a function to any types to which it is isomorphic control-iso A free lens  Iso s t a b from the   instances         !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~~~~*control-iso-0.1.0.2-EG67WcOEfRSL1q1q9OrCZcControl.Isomorphic IsNothing unIsNothingIsJustunIsJustIsLeftunIsLeftIsRight unIsRight Isomorphicto'viatofromasas2as3as4as5isoBi$fIsomorphicff$fIsomorphicab$fIsomorphicMaybeLast$fIsomorphicLastMaybe$fIsomorphicMaybeFirst$fIsomorphicFirstMaybe$fIsomorphicaProduct$fIsomorphicProducta$fIsomorphicaSum$fIsomorphicSuma$fIsomorphicBoolAny$fIsomorphicAnyBool$fIsomorphicBoolAll$fIsomorphicAllBool$fIsomorphic->Endo$fIsomorphicEndo->$fIsomorphicaDual$fIsomorphicDuala$fIsomorphicaIdentity$fIsomorphicIdentitya$fIsomorphicaConst$fIsomorphicConsta$fIsomorphicfCompose$fIsomorphicComposef$fIsomorphicIntegerFixed$fIsomorphicFixedInteger$fIsomorphicaArrowMonad$fIsomorphicArrowMonada$fIsomorphic->Kleisli$fIsomorphicKleisli->$fIsomorphic[]ZipList$fIsomorphicZipList[]$fIsomorphicaWrappedArrow$fIsomorphicWrappedArrowa$fIsomorphicmWrappedMonad$fIsomorphicWrappedMonadm$fIsomorphicSTST$fIsomorphicSTST0$fIsomorphicInta$fIsomorphicaInt$fIsomorphic(,)NonEmpty$fIsomorphicNonEmpty(,)$fIsomorphicEitherEither$fIsomorphic->->$fIsomorphic->->0$fIsomorphic->->1$fIsomorphicEitherMaybe$fIsomorphicMaybeEither$fIsomorphicEitherMaybe0$fIsomorphicMaybeEither0 $fIsomorphicByteStringByteString!$fIsomorphicByteStringByteString0$fIsomorphicByteStringText$fIsomorphicTextByteString$fIsomorphicByteStringText0$fIsomorphicTextByteString0$fIsomorphicTextText$fIsomorphicTextText0$fIsomorphicByteStringText1$fIsomorphicTextByteString1$fIsomorphicByteStringText2$fIsomorphicTextByteString2$fIsomorphic[]Text$fIsomorphicText[]$fIsomorphic[]Text0$fIsomorphicText[]0$fIsomorphic[]ByteString$fIsomorphicByteString[]$fIsomorphic[]ByteString0$fIsomorphicByteString[]0$fIsomorphic(,)(,,)$fIsomorphic(,,)(,)$fIsomorphic(,)(,,)0$fIsomorphic(,,)(,)0$fIsomorphic(,)(,)$fIsomorphic(,)(,)0$fIsomorphic(,)(,)1$fIsomorphicaa$fIsomorphicaM1$fIsomorphicM1a$fIsomorphicIsRightBool$fIsomorphicBoolIsRight$fIsomorphicEitherIsRight$fIsomorphicIsRightEither$fIsomorphicIsLeftBool$fIsomorphicBoolIsLeft$fIsomorphicEitherIsLeft$fIsomorphicIsLeftEither$fIsomorphicIsJustBool$fIsomorphicBoolIsJust$fIsomorphicMaybeIsJust$fIsomorphicIsJustMaybe$fIsomorphicIsNothingBool$fIsomorphicBoolIsNothing$fIsomorphicMaybeIsNothing$fIsomorphicIsNothingMaybe $fShowIsRight$fGenericIsRight $fShowIsLeft$fGenericIsLeft $fShowIsJust$fShowIsNothingghc-prim GHC.TypesBoolbase GHC.MaybeNothingJust Data.EitherLeftRight