anchor.diff:  type private AsyncCompletionSource<'T> =
   
     [<DefaultValue>]
  -  val mutable private _completed : 'T -> unit
  +  val mutable private _value : 'T option
     [<DefaultValue>]
  -  val mutable private _caught : exn -> unit
  +  val mutable private _exn : exn option
  +
     [<DefaultValue>]
  -  val mutable private _canceled : OperationCanceledException -> unit
  +  val mutable private _completed : ('T -> unit) option
  +  [<DefaultValue>]
  +  val mutable private _caught : (exn -> unit) option
   
     val private _async : Async<'T>
   
  
positive.code:   /// Constructor.
    /// </summary>
    new () as this = {
      _async = Async.FromContinuations<'T>(fun (completed, caught, canceled) ->
        this._completed <- completed
        this._caught <- caught
        this._canceled <- canceled)
    }
  
    /// <summary>
  
negative.code:     match this._value with
      | Some value -> return value
      | None ->
        let! value = this._asyncBody()
        this._value <- Some value
        return value
    }
  