anchor.diff:              if IgnoreExprSourcePos a <> Undefined then
                   yield ExprStatement <| ItemSet(Var task, Value (String "result"), a)
               yield ExprStatement <| ItemSet(Var task, Value (String "status"), Value (Int (int System.Threading.Tasks.TaskStatus.RanToCompletion)))
  -            yield ExprStatement <| Application(ItemGet(Var task, Value (String "RunContinuations")), [], false, Some 0)
  +            yield ExprStatement <| Call(Some (Var task), NonGeneric Definitions.Task, TaskMethod.RunContinuations, [])
               yield Return (Value (Bool false))         
           ]
   
  
positive.code: 
      override this.Yield(v) =
          Block [
              ExprStatement <| Application(ItemGet(v, Value (String "OnCompleted")), [ Var run ], false, Some 1)
              Return (Value (Bool true))         
          ]
  
  
negative.code:         let awaited = Id.New "$await"
          let doneLabel = Id.New "$done"
          let setStatus s = ItemSet(Var awaited, Value (String "exc"), !~(Int s))
          let start = Call(Some (Var awaited), NonGeneric Definitions.Task, TaskMethod.Start, [])
          let exc = ItemGet(Var awaited, Value (String "exc"))
          Sequential [
              NewVar(awaited, this.TransformExpression a)
  