úÎ \ ßportable experimental/Sebastian Fischer (sebf@informatik.uni-kiel.de)  The class  MonadTimes% defines an operation to compute the @ cartesian product of the results of two monadic operations. A 8 sequential default implementation is given in terms of >>= but C specific instances can ovverride this definition to evaluate both ' arguments in parallel or interleaved. 2Results of non-deterministic computations of type Stream a can be  enumerated efficiently. ,Suspensions can be used to ensure fairness.  The function  runStream enumerates the results of a  non-deterministic computation.    stream-monad-0.2Control.Monad.StreamStream suspended runStream MonadTimesmtimesSuspConsSingleNil