anchor.diff:    fTask.Done(nil);
   end;
   
  -method __ElementsTask.Await(aCompletion: IAwaitCompletion): Boolean;
  +method __ElementsTask.Await(aCompletion: __ElementsIAwaitCompletion): Boolean;
   begin
     if IsCompleted then exit false;
     var q := __ElementsTask.ThreadSyncHelper.GetThreadContext;
  
positive.code:     property AsyncState: Object read fAsyncState;
      property IsFaulted: Boolean read fException <> nil;
      property IsCompleted: Boolean read fState = TaskState.Done; 
      method &Await(aCompletion: IAwaitCompletion): Boolean; // true = yield; false = long done
  
      {$HIDE W38}
      method Wait; reintroduce;virtual;
  
negative.code:     method run; override; empty;
    end;
  
    __ElementsIAwaitCompletion = public interface
      method moveNext(aState: Object);
    end;
  
  