úÎî   Safe-Infered A class for 3 types that can be instantiated without programmer  input. e.g. the standard haskell Chan$ is a member of this class, however " a bounded chan type that took an Int& to define the buffer size would not. A class for chan types with a " write end" and a "read end" . A minimal  complete instance defines  and one of  or  . Read the next value from the OutChan. -Write an entire list of items to a chan type Write a value to a Chan type.    Safe-InferedThe " read side" of a chan pair The " write side" of a chan pair KReturn a lazy list representing the contents of the supplied OutChan, much  like System.IO.hGetContents.  Duplicate an 5: the duplicate channel contains any unread messages K in the original (n.b. this differs from the behavior of dupChan in Chan), ' and data written to the corresponding  will appear in both, i.e. J consuming a value from the copy will have no affect on the values in the  original OutChan. >(Note that a duplicated channel is not equal to its original.  So: fmap (c /=) $ dupChan c returns True for all c.)           chan-split-0.4.0Control.Concurrent.Chan.ClassControl.Concurrent.Chan.Split NewSplitChan newSplitChan SplitChanreadChanwriteList2Chan writeChanOutChanInChangetChanContentsdupChan$fNewSplitChanMVarMVar$fSplitChanMVarMVar$fNewSplitChanChanChan$fSplitChanChanChan$fSplitChanInChanOutChan$fNewSplitChanInChanOutChan