úÎ º®portable provisionalEdward Kmett <ekmett@gmail.com>0A user managed globally unique variable supply.  UGrab a new supply. Any two supplies obtained with newSupply are guaranteed to return U disjoint sets of identifiers. Replaying the same sequence of operations on the same % Supply will yield the same results. !Obtain a fresh Id from a Supply. GSplit a supply into two supplies that will return disjoint identifiers An unboxed version of freshId "An unboxed version of splitSupply      concurrent-supply-0.1Control.Concurrent.SupplySupply newSupplyfreshId splitSupplyfreshId# splitSupply#BlockStream:-extractunits blockSizeminSplitSupplySize blockCountergennewBlock splitBlock# blockSupply