anchor.diff:  open Amazon.S3.Model
   
   open MBrace.Core.Internals
  +open MBrace.Runtime.Utils.Retry
   open MBrace.Aws.Runtime
   open MBrace.Aws.Runtime.Utilities
   
  
positive.code: module private S3FileStoreImpl =
  
      let emptyProps : IDictionary<string, obj> = dict []
  
      let getRandomBucketName() =  sprintf "/mbrace%s/" <| Guid.NewGuid().ToString("N")
  
  
negative.code:         | None -> let cp = S3Path.Combine(defaultBucket, path) in S3Path.Parse(cp, asDirectory = asDirectory)
  
      let bucketExists (s3p : S3Path) = async {
          let! ct = Async.CancellationToken
          let! listed = account.S3Client.ListBucketsAsync(ct) |> Async.AwaitTaskCorrect
          return listed.Buckets |> Seq.exists (fun b -> b.BucketName = s3p.Bucket)
      }
  
      let ensureBucketExists (s3p : S3Path) = 
          retryAsync conflictRetryPolicy <| async {
              let! exists = bucketExists s3p
              if not exists then
                  let! ct = Async.CancellationToken
                  let! _result = account.S3Client.PutBucketAsync(s3p.Bucket, ct) |> Async.AwaitTaskCorrect
                  return ()
          }
  
      /// <summary>
      ///     Creates an MBrace CloudFileStore implementation targeting Amazon S3s
  