anchor.diff:  
   
   [<Test>]
  -let ``bind should chain two tasks parametrized by CancellationToken``() =
  -    let task = Task.TaskBuilderWithToken()
  +let ``bind should chain two tasks parametrized by CancellationToken``() =    
       let t1 = 
  -        task {
  +        task' {
               return! Task.Factory.StartNew(fun () -> 100)
           }
       let t2 = 
  -        task {
  +        task' {
               return! Task.Factory.StartNew(fun () -> 200)
           }
       let t = 
  -        task {
  +        task' {
               let! v1 = t1
               let! v2 = t2
               return v1 + v2
  
positive.code:     Assert.AreEqual(1, !i)
  
  let whileExpression (i: ref<int>) = 
      let task = Task.TaskBuilderWithToken(continuationOptions = TaskContinuationOptions.ExecuteSynchronously)    
      task {
          while !i > 0 do
              decr i
              do! Task.Factory.StartNew ignore
  
negative.code: let ``for``() =
      let i = ref 0
      let s = [1; 2; 3; 4]
      let task' = Task.TaskBuilderWithToken(continuationOptions = TaskContinuationOptions.ExecuteSynchronously)
      let t =
          task' {
              for x in s do
                  i := !i + x
                  do! Task.Factory.StartNew ignore
  