úÎ0×/c      Bs are the means through which communication with the variable are ( conducted. They contain a Chan that is  connected to the variable, and  is read by the variable's  function. A - describes what should happen to a variable. A They are only used internally, and are here just for reference. "conditionally modifies a variable <modifies the variable, returning the b result to the caller 8Just modifies the variable (unless an exception occurs) modifies the variable reads the variable puts the a into the variable  * creates a new variable. It forks off the  that does the 6 work for the variable itself and creates a new AVar. ? stores the state of the variable in an accumulatin parameter. I It reads the chan it was forked with, and takes action depending on the I Transaction is recieves. Handler is not something to be used outside of  an AVar, and is not exported.      * reads the current value inside the AVar.  = replaces the currect value in the variable with the given x B takes a function from a to a, and modifies the variable. It will I throw any exceptions caught by the variable when applying the function. ; is like modAVar, but it modifies the variable, along with P returning a result of type b. It also throws any errors caugh by the variable. 9 will attempt to run the given function on the variable. G It does not report back on its sucess or failure, and if the function E produces an exception, the variable is left unchanged. It should be C used when you just want to modify the variable, and keep running, - without waiting for the action to complete. 8 applies the first finction to the current value in the > AVar, and will modify the value using the second function if  it results in ), or the third function if it results in Fasle. F takes a new value, puts it into the AVar, and returns the old value.    * reads the current value inside the AVar. = replaces the currect value in the variable with the given x C takes a function from a to a, and returns Nothing if nothing went C wrong, or Just e, where e is an exception thrown by the function. ; is like modAVar, but it modifies the variable, along with 5 returning a result of type b, within an Either e b. 9 will attempt to run the given function on the variable. G It does not report back on its sucess or failure, and if the function E produces an exception, the variable is left unchanged. It should be C used when you just want to modify the variable, and keep running, - without waiting for the action to complete. 8 applies the first finction to the current value in the F AVar, and if true will modify the value using the second function if C it results in True, or the third function if it results in Fasle. F takes a new value, puts it into the AVar, and returns the old value.       AVar-0.0.4Data.AVar.InternalData.AVar.Unsafe Data.AVarAVar TransactionAtomMod'JustModModGetPutnewAVarResultOKgetAVarputAVarmodAVarmodAVar' justModAVar condModAVarswapAVarhandlerghc-primGHC.BoolTrue