anchor.diff:  
       override this.Yield(v) =
           Block [
  -            ExprStatement <| Application(ItemGet(v, Value (String "OnCompleted")), [ Var run ], false, Some 1)
  +            ExprStatement <| Call(Some v, NonGeneric Definitions.Task, TaskMethod.OnCompleted, [ Var run ])
               Return (Value (Bool true))         
           ]
   
  
positive.code:         let awaited = Id.New "$await"
          let doneLabel = Id.New "$done"
          let setStatus s = ItemSet(Var awaited, Value (String "exc"), !~(Int s))
          let start = Application(ItemGet(Var awaited, Value (String "Start")), [], false, Some 0)
          let exc = ItemGet(Var awaited, Value (String "exc"))
          Sequential [
              NewVar(awaited, this.TransformExpression a)
  
negative.code: open WebSharper.Core.AST
  open WebSharper.Compiler
  
  module TaskMethod =
      let Start =  
          Method {
              MethodName = "Start"
              Parameters = []
              ReturnType = VoidType
              Generics = 0
          } |> NonGeneric 
  
      // This is a method on the Task proxy only
      let OnCompleted =
          Method {
              MethodName = "OnCompleted"
              Parameters = [FSharpFuncType (VoidType, VoidType)]
              ReturnType = VoidType
              Generics = 0
          } |> NonGeneric 
          
      // This is a method on the Task proxy only
      let RunContinuations =
          Method {
              MethodName = "RunContinuations"
              Parameters = []
              ReturnType = VoidType
              Generics = 0
          } |> NonGeneric 
      
  type CollectLabels() =
      inherit StatementVisitor()
  
  