anchor.diff:      constructor(aDelegate: Object; aState: Object); empty;
     public
       constructor(aIn: TaskBlockGen<T>; aState: Object := nil);
  +    method ContinueWith(aAction: block(aTask: __ElementsTask1<T>); aState: Object := nil): __ElementsTask;
  +    method ContinueWith<TR>(aAction: block(aTask: __ElementsTask1<T>): TR; aState: Object := nil): __ElementsTask1<TR>;
       method run; override;
       property &Result: T read getResult;
     end;
  
positive.code:   fTask.Done(ex);
  end;
  
  method __ElementsTaskCompletionSource<T>.SetResult(val: T);
  begin
    fTask.fLock.lock;
  
negative.code: end;
  
  
  constructor __ElementsTaskCompletionSource<T>(aState: Object);
  begin
    fTask := new TaskCompletionSourceTask<T>(Object(nil), aState);
  