Îõ³h* ; 62      !"#$%&'()*+,-./010.0.1.0 Safe-Inferred(16ÀÂÄÍÚÛäì  strict-wrapperIt is redundant to nest , e.g. Strict (Strict (t1, t2)). Just use one layer of .strict-wrapperSome Ì instances are not yet implemented. Please file an issue if you need them.strict-wrapperSome data types, such as [a]+, can't be made strict in a zero-cost way.strict-wrapperSome data types, such as 2 and 3Ë, are already as strict as they can be. There is no need to wrap them in !strict-wrapperA type t can be given a StrictlyÊ instance when it has a very cheap conversion to and from a strict type, Strict t.strict-wrapperIsomorphic to the type tÍ, except that when it is evaulated its immediate children are evaluated too.strict-wrapperMake a Strict t using  if you obtained a whole t; from elsewhere (otherwise, if you have the components of t3 separately, then it is more efficient to use the   constructor instead). ÖmakeStrict :: (Int, Strict (Int, String)) -> Int makeStrict (i, s) = i + f (strict s) strict-wrapperAccess the contents of a Strict t, but not its fields, using unstrictÉ (if you want access to the fields then it is more efficient to use the   pattern). ãstrictMaybe :: r -> (a -> r) -> Strict (Maybe a) -> r strictMaybe r f sm = maybe r f (unstrict sm) strict-wrapperUsed to implement the  1 pattern synonym. You should never need to use  matchStrict/ unless you are defining your own instance of Strictly. strict-wrapperUsed to implement the  - constructor. You should never need to use constructStrict/ unless you are defining your own instance of Strictly. strict-wrapperUse the Strict4 pattern if you want to subsequently match on the t4 it contains (otherwise it is more efficient to use ). €printIt :: Strict (Maybe Int) -> IO () printIt (Strict (Just i)) = print i printIt (Strict Nothing) = putStrLn "Nothing there" Make a Strict t using the Strictì constructor if you are constructing it from its individual fields (otherwise it is more efficient to use ). ÐmakeStrict :: Int -> Strict (Int, String) makeStrict i = Strict (i + 1, show i)    4      !"#$%&'()*+,-./01234564578-strict-wrapper-0.0.1.0-3PTQvY15dz9EptrhPUQrDdData.Strict.Wrapperstrict-wrapper NestedStrictNotYetImplementedCannotBeStrict AlreadyStrictStrictlyStrictstrictunstrict matchStrictconstructStrict$fStrictlyEither$fStrictlyMaybe$fStrictly(,,,)$fStrictly(,,) $fStrictly(,)$fStrictlyChar$fStrictlyOrdering$fStrictlyWord$fStrictlyDouble$fStrictlyFloat$fStrictlyInteger $fStrictlyInt$fStrictlyBool $fStrictly() $fStrictlyIO$fStrictlyList$fStrictly(,,,,,)$fStrictly(,,,,)$fStrictlyStrict $fReadStrict $fShowStrict $fOrdStrict $fEqStrict $fReadStrict0 $fShowStrict0 $fOrdStrict0 $fEqStrict0 $fReadStrict1 $fShowStrict1 $fOrdStrict1 $fEqStrict1 $fReadStrict2 $fShowStrict2 $fOrdStrict2 $fEqStrict2 $fReadStrict3 $fShowStrict3 $fOrdStrict3 $fEqStrict3ghc-prim GHC.TypesIntDouble