anchor.diff:          this.BlobRef(connectionString).DownloadToFileAsync(path, FileMode.Create) |> awaitUnit
       
       /// Opens this file as a stream for reading.
  -    member this.OpenStream(?connectionString) = this.BlobRef(connectionString).OpenRead()
  +    member this.OpenStream(?connectionString:string) = this.BlobRef(connectionString).OpenRead()
       
       /// Opens this file as a text stream for reading.
  -    member this.OpenStreamAsText() = new StreamReader(this.OpenStream())
  +    member this.OpenStreamAsText(?connectionString) =
  +        match connectionString with
  +        | Some connectionString -> new StreamReader(this.OpenStream(connectionString))
  +        | None -> new StreamReader(this.OpenStream())
   
       /// Lazily read the contents of this blob a line at a time.
  -    member this.ReadLines() = seq {
  -        use stream = this.OpenStreamAsText()
  +    member this.ReadLines(?connectionString) = seq {
  +        use stream =
  +            match connectionString with
  +            | Some connectionString -> this.OpenStreamAsText(connectionString)
  +            | None -> this.OpenStreamAsText()
           while not stream.EndOfStream do
               yield stream.ReadLine() }
   
       /// Gets the blob size in bytes.
  -    member __.Size with get() = blobProperties.Value.Length
  +    member __.Size(?connectionString) =
  +        match connectionString with
  +        | Some _ ->
  +            let blobRef = getBlobRef connectionString
  +            blobRef.FetchAttributes()
  +            blobRef.Properties
  +        | None -> blobProperties.Value
  +        |> fun props -> props.Length
   
       /// Gets the name of the blob
       member __.Name with get() = (getBlobRef None).Name
  
positive.code: 
  /// Represents a pseudo-folder in blob storage.
  type BlobFolder internal (defaultConnectionString, container, file) = 
      /// Downloads the entire folder contents to the local file system asynchronously.
      member __.Download(path, ?connectionString) =
          let connectionDetails = defaultArg connectionString defaultConnectionString, container, file
  
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.
  