úÎa!     portable experimental'Roman Leshchinskiy <rl@cse.unsw.edu.au>The strict choice type. Case analysis: if the value is  a, apply the first function to a;  if it is  b, apply the second function to b. Yields ! iff the argument is of the form Left _. Yields ! iff the argument is of the form Right _. Extracts the element out of a % and throws an error if the argument  is a . Extracts the element out of a % and throws an error if the argument  is a . portable experimental'Roman Leshchinskiy <rl@cse.unsw.edu.au>$The type of strict optional values. Yields ! iff the argument is of the form Just _. Yields  iff the argument is  . Extracts the element out of a  % and throws an error if the argument  is  . Given a default value and a !, yield the default value if the   argument is  " and extract the value out of the    otherwise. (Given a default value, a function and a  value, yields the default  value if the  value is  ! and applies the function to the  value stored in the   otherwise.    portable experimental'Roman Leshchinskiy <rl@cse.unsw.edu.au>The type of strict pairs. .Extract the first component of a strict pair. /Extract the second component of a strict pair. "Curry a function on strict pairs. :Convert a curried function to a function on strict pairs. portable experimental'Roman Leshchinskiy <rl@cse.unsw.edu.au>       strict-0.2Data.Strict.EitherData.Strict.MaybeData.Strict.Tuple Data.StrictEitherRightLefteitherisLeftisRightfromLeft fromRightMaybeJustNothingisJust isNothingfromJust fromMaybemaybe:!:Pairfstsndcurryuncurryghc-primGHC.BoolTrue