Îõ³h$ q Ð     None &/>ÀÉÖ×àè ¶ 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  and Ë, 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)          ! "#-strict-wrapper-0.0.0.0-9HEWeZP8manIOUWFrhpAA8Data.Strict.Wrapper NestedStrictNotYetImplementedCannotBeStrict AlreadyStrictStrictlyStrictstrictunstrict matchStrictconstructStrict$fStrictlyEither$fStrictlyMaybe$fStrictly(,,,)$fStrictly(,,) $fStrictly(,)$fStrictlyChar$fStrictlyOrdering$fStrictlyWord$fStrictlyDouble$fStrictlyFloat$fStrictlyInteger $fStrictlyInt$fStrictlyBool $fStrictly() $fStrictlyIO $fStrictly[]$fStrictly(,,,,,)$fStrictly(,,,,)$fStrictlyStrictghc-prim GHC.TypesIntDouble