!(c) 2008-2015 Bertram FelgenhauerBSD3"Bertram Felgenhauer <int-e@gmx.de> experimentalghcNone+,The thread has attempted to write to a full .A write-once ( immutable ) VariableCreate a new, empty .Create a new filled .-This is slightly cheaper than creating a new  and then writing to it.Returns the value of an .:The evaluation will block until a value is written to the  if it has no value yet.Try to read an  . Returns  if it has no value yet.Writes a value to an  . Raises a 0 exception if the variable already has a value.Writes a value to an  . Returns  if successful, and  otherwise.  !(c) 2008-2012 Bertram FelgenhauerBSD3"Bertram Felgenhauer <int-e@gmx.de> experimentalghcNone+A channel head Create a new channel. KReturns the contents of a channel as a list, starting at the channel head.NThis is a pure computation. Forcing elements of the list may, however, block. $Write a single value to the channel. Raises a BlockedIndefinitelyOnIVar exception if a value has already been written to the channel. Otherwise, returns a new channel head for writing further values. 0Attempts to write a single value to the channel.-If a value has already been written, returns D. Otherwise, returns a new channel head for writing further values.    !(c) 2008-2012 Bertram FelgenhauerBSD3"Bertram Felgenhauer <int-e@gmx.de> experimentalghcNone+ A multicast channel.Create a new multicast channel.6Return the list of values that the channel represents. Send a value across the channel.3Send several values across the channel, atomically.              ivars_8zf65cFAN2M9Zp5QTCCcLPData.IVar.SimpleData.IVar.Simple.IChanData.IVar.Simple.MIChanBlockedIndefinitelyOnIVarIVarnewnewFullreadtryReadwritetryWriteIChanMIChan writeListbaseGHC.BaseNothingghc-prim GHC.TypesTrueFalse$fShowBlockedIndefinitelyOnIVar$$fExceptionBlockedIndefinitelyOnIVar$fEqIVar