h&%#-      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg  Safe-Inferred )1<=?hijklmno Safe-Inferred )1<=? strongweakGet either the strong or weak representation of a type, depending on the type-level "switch" provided.6This is intended to be used in data types that take a 7 type. Define your type using strong fields wrapped in SW s. You then get the weak representation for free, using the same definition. data A (s :: Strength) = A { a1 :: SW s Word8 , a2 :: String }  strongweak,Strength enumeration: is it strong, or weak?:Primarily interesting at the type level (using DataKinds). strongweak Weaken some a, relaxing certain invariants.See  Strongweak! for class design notes and laws. strongweak The weakened type for some type. strongweak Weaken some a to its associated weak type  a. strongweak=Lift a function on a weak type to the associated strong type. strongweak%Decomposer. Weaken either side of an p.  strongweak,Decomposer. Weaken both elements of a tuple.  strongweak+Decomposer. Weaken every element in a list. strongweakStrip wrapper. strongweakStrip wrapper. strongweak&Weaken sized vectors into plain lists. strongweak(Weaken non-empty lists into plain lists. strongweakStrip refined type refinement. Safe-Inferred )1<=? t  strongweakUnsafely transform a  a to an a, without asserting invariants.Naturally, you must only even consider using this if you have a guarantee that your value is safe to treat as strong..For example, you may unsafely strengthen some   n into a q? by unsafely coercing the value, ignoring the possibility that n >= 255.What happens if it turns out you're lying to the computer and your weak value doesn't fit in its strong counterpart? That depends on the strengthen.)Numeric coercions should safely overflow.Some will raise an error (e.g. r).?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoopqrstuvwxyz{|}{~{{{{{strongweak-0.4.1-inplaceStrongweak.WeakenStrongweak.Strengthen.UnsafeStrongweak.StrengthenStrongweak.Generic.StrengthenStrongweak.Generic.WeakenStrongweak.Generic.ViaPaths_strongweakNumeric.NaturalNaturalunsafeStrengthen StrongweakGenericStrongweak.GenericSWStrengthStrongWeakWeakenweaken liftWeakF$fWeakenEither $fWeaken(,) $fWeaken[] $fWeakenInt64 $fWeakenInt32 $fWeakenInt16 $fWeakenInt8$fWeakenWord64$fWeakenWord32$fWeakenWord16 $fWeakenWord8 $fWeakenConst$fWeakenIdentity$fWeakenVector$fWeakenNonEmpty$fWeakenRefinedUnsafeStrengthen$fUnsafeStrengthenEither$fUnsafeStrengthen(,)$fUnsafeStrengthen[]$fUnsafeStrengthenInt64$fUnsafeStrengthenInt32$fUnsafeStrengthenInt16$fUnsafeStrengthenInt8$fUnsafeStrengthenWord64$fUnsafeStrengthenWord32$fUnsafeStrengthenWord16$fUnsafeStrengthenWord8$fUnsafeStrengthenConst$fUnsafeStrengthenIdentity$fUnsafeStrengthenVector$fUnsafeStrengthenNonEmpty$fUnsafeStrengthenRefinedStrengthenFailStrengthenFailBaseStrengthenFailField Strengthen strengthen restrengthenstrengthenFailPrettystrengthenFailBasestrengthenBounded$fPrettyStrengthenFail$fShowStrengthenFail$fStrengthenEither$fStrengthen(,)$fStrengthen[]$fStrengthenInt64$fStrengthenInt32$fStrengthenInt16$fStrengthenInt8$fStrengthenWord64$fStrengthenWord32$fStrengthenWord16$fStrengthenWord8$fStrengthenConst$fStrengthenIdentity$fStrengthenVector$fStrengthenNonEmpty$fStrengthenRefined$fEqStrengthenFail GStrengthenS gstrengthenS GStrengthenC gstrengthenC GStrengthenD gstrengthenDstrengthenGeneric selName''conName' datatypeName'selName'$fGStrengthenCk:+::+:$fGStrengthenCkV1V1$fGStrengthenDkM1M1$fGStrengthenSkM1M1$fGStrengthenSkM1M10$fGStrengthenSk:*::*:$fGStrengthenSkU1U1$fGStrengthenCkM1M1GWeakengweaken weakenGeneric$fGWeakenk:+::+:$fGWeakenk:*::*:$fGWeakenkK1K1$fGWeakenkK1K10$fGWeakenkU1U1$fGWeakenkV1V1$fGWeakenkM1M1 GenericallySWunGenericallySW$fStrengthenGenericallySW$fWeakenGenericallySWversiongetDataFileName getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirbase Data.EitherEitherGHC.WordWord8GHC.BaseNonEmpty GHC.GenericsconNameGHC.Err undefined datatypeNameselName