anchor.diff:  
   /// Represents a pseudo-folder in blob storage.
   type BlobFolder internal (defaultConnectionString, container, file) = 
  +    let getSafe getBlobFile connectionString path =
  +        let connectionString = connectionString |> defaultArg <| defaultConnectionString
  +        let blob : #BlobFile = getBlobFile connectionString container (Path.Combine(file, path))
  +        async {
  +            try
  +            let! exists = blob.AsICloudBlob().ExistsAsync() |> Async.AwaitTask
  +            return if exists then Some blob else None
  +            with
  +            | :? AggregateException as ex when
  +                match ex.InnerException with
  +                | :? StorageException as ex when ex.Message = "Blob type of the blob reference doesn't match blob type of the blob." -> true
  +                | _ -> false
  +                -> return None }
  +
       /// Downloads the entire folder contents to the local file system asynchronously.
       member __.Download(path, ?connectionString) =
           let connectionDetails = defaultArg connectionString defaultConnectionString, container, file
  
positive.code:                 |> Some
              | _ -> None)
  
  /// Represents a container in blob storage.
  type BlobContainer internal (defaultConnectionString, container) =
      /// Gets a handle to the Azure SDK client for this container.
  
negative.code:     override this.ToString() = this.Name
  
  type BlockBlobFile internal (defaultConnectionString, container, file) =
      inherit BlobFile(defaultConnectionString, container, file, (fun blob -> getBlockBlobRef blob :> ICloudBlob))
      let getBlobRef connectionString = getBlockBlobRef(defaultArg connectionString defaultConnectionString, container, file)
  
      /// Gets a handle to the Azure SDK client for this blob.
  