anchor.diff:          /// </summary>
           /// <param name="serializer">Serializer to be used.</param>
           /// <param name="path">Path to file to be read.</param>
  -        member s.TryGetHeader(serializer : ISerializer, path : string) = async {
  +        /// <param name="compression">GZip CompressionLevel to be used when reading from file.</param>
  +        member s.TryGetHeader(serializer : ISerializer, path : string, compression : CompressionLevel) = async {
               try
  -                use! stream = s.BeginRead path
  +                use! stream = async {
  +                    let! stream = s.BeginRead path
  +                    match compression with
  +                    | CompressionLevel.NoCompression -> return stream
  +                    | _ -> return new GZipStream(stream, CompressionMode.Decompress) :> _
  +                }
  +
                   let header = serializer.Deserialize<CloudValueHeader>(stream, leaveOpen = true)
                   return Some header
               with 
  
positive.code:         ///     Deletes persisted object of given hash from underlying store.
          /// </summary>
          /// <param name="hash">Hash to be deleted.</param>
          member s.DeleteByHash(hash : HashResult) = async {
              let filePath = s.GetPathByHash hash
              do! s.DeleteFile filePath
          }
  
  
negative.code:                             match config.LocalStore with
                              | Some ls -> 
                                  let header = CloudValueHeader.FromValue(gv, hash, level)
                                  let _ = Async.StartAsTask(ls.Serialize<'T>(config.Global.Serializer, header, gv, config.Global.CompressionLevel, overwrite = true))
                                  ()
  
                              | _ -> ()
  