#{      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzSafe6;<=>?AFTV]h{ A wrapper for Maybe ()! that decides the isomorphism to { is | biasedA wrapper for Maybe ()! that decides the isomorphism to { is } biasedA wrapper for  Either () ()! that decides the isomorphism to { is ~ biased A wrapper for  Either () ()! that decides the isomorphism to { is  biased )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.Composition of two bijections"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.This is the same as  but has the forall arguments with a first.6lift a function to any types to which it is isomorphic A free lens  Iso s t a b from the   instances u dcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>= hglkfeji<;:9potsnmrq876543210/.-,+*)('&%$#"!          !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~|}||*control-iso-0.1.0.0-1BuUlR35Ufz1BYxDUvhzACControl.Isomorphic IsNothing unIsNothingIsJustunIsJustIsLeftunIsLeftIsRight unIsRight Isomorphicto'viatofromasas2as3as4as5isoBi$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.TypesBoolbaseGHC.BaseNothingJust Data.EitherLeftRight