úÎ(˜'      portablestabledons@galois.com Safe-Infered Computation  hdl returns the list of characters D corresponding to the unread portion of the channel or file managed  by hdl, which is immediate closed. /Items are read strictly from the input Handle. This operation may fail with:   isEOFError& if the end of file has been reached. The 6 operation returns all user input as a single string, ! which is read stirctly (same as  stdin). The # function takes a function of type String->String F as its argument. The entire input from the standard input device is F passed to this function as its argument, and the resulting string is ' output on the standard output device. The  function reads a file and / returns the contents of the file as a string. $ The file is read strictly, as with . portable experimental'Roman Leshchinskiy <rl@cse.unsw.edu.au> Safe-InferedThe 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> Safe-Infered $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>NoneThe 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> Safe-Infered       !"#$% strict-0.3.2System.IO.StrictData.Strict.EitherData.Strict.MaybeData.Strict.Tuple Data.Strict hGetContents getContentsinteractreadFileEitherRightLefteitherisLeftisRightfromLeft fromRightMaybeJustNothingisJust isNothingfromJust fromMaybemaybe:!:Pairfstsndcurryuncurryghc-prim GHC.TypesTrue$fFunctorEither$fFunctorMaybe