anchor.diff:              if actualDeferred.Count = 1 then mre1.Set() |> ignore
               if actualDeferred.Count = 2 then mre2.Set() |> ignore)
           if TimeSpan.FromSeconds(float 4) |> mre1.WaitOne |> not
  +        // The first result is a delayed async field, which is set to compute the value for 5 seconds.
  +        // The second result is also a delayed async field, computed for 1 second.
  +        // Third result is a instant returning async field.
  +        // As the preferred batch size is configured to have a maximum of two items, the expected behavior is
  +        // to buffer results 3 and 2 (in this order), as together they take should be computed before than the fist result,
  +        // and send them together on the first batch.
  +        // First result should come in a second batch, as it takes 5 seconds to compute, which should be enough
  +        // to put the two other results in a batch with the preferred size.
           then fail "Timeout while waiting for first Deferred GQLResponse"
           if TimeSpan.FromSeconds(float 30) |> mre2.WaitOne |> not
           then fail "Timeout while waiting for second Deferred GQLResponse"
  
positive.code:            { value = async { return null } }
         ]
         bufferedList = [
             { value = async { return "Buffered 1" } }
             { value = delay 1000 "Buffered 2" }
             { value = delay 5000 "Buffered 3" }
         ]
     }
  
  
negative.code:             if actualDeferred.Count < 2 then actualDeferred.Add(x)
              if actualDeferred.Count = 1 then mre1.Set() |> ignore
              if actualDeferred.Count = 2 then mre2.Set() |> ignore)
          // The first result is a delayed async field, which is set to compute the value for 5 seconds.
          // The second result should come first, almost instantly, as it is not a delayed computed field.
          // Therefore, let's assume that if it does not come in at least 4 seconds, test has failed.
          if TimeSpan.FromSeconds(float 4) |> mre1.WaitOne |> not
          then fail "Timeout while waiting for first deferred result"
  