anchor.diff:              match parameterValues with
               | [| :? string as awsKey; :? string as awsSecret |] ->
                   let typedS3Account = erasedType<obj> thisAssembly rootNamespace typeName
  -                typedS3Account.AddXmlDocDelayed(fun () -> sprintf "A strongly typed interface to S3 account with key [%s] and secret [%s]" awsKey awsSecret)
  +                typedS3Account.AddXmlDoc(sprintf "A strongly typed interface to S3 account with key [%s] and secret [%s]" awsKey awsSecret)
   
                   let client  = Amazon.AWSClientFactory.CreateAmazonS3Client(awsKey, awsSecret, Amazon.RegionEndpoint.USEast1)
   
  
positive.code:     /// Create a nested type to represent a versioned S3 object
      let createTypedVersionedS3Object (ownerType : ProvidedTypeDefinition) client (bucket : Amazon.S3.Model.S3Bucket) (s3Object : Amazon.S3.Model.S3Object) =
          let typedS3Object = runtimeType<obj> s3Object.Key
          typedS3Object.AddXmlDocDelayed(fun () -> sprintf "A strongly typed interface to a versioned S3 object %s" s3Object.Key)
  
          // nested type to represent the latest version of the object
          typedS3Object.AddMember(createTypedS3Object ownerType client bucket (Some "Latest") s3Object)
  
negative.code:         | _ -> false
  
      /// Returns all the S3 objects in the specified S3 bucket
      let getObjects (client : Amazon.S3.IAmazonS3) (bucket : Amazon.S3.Model.S3Bucket) (Prefix prefix) =
          let rec loop marker = seq {
              let req = new Amazon.S3.Model.ListObjectsRequest()
              req.BucketName <- bucket.BucketName
              req.Prefix     <- prefix
              req.Delimiter  <- "/"
              if not <| String.IsNullOrWhiteSpace marker then req.Marker <- marker
  
              let response = client.ListObjects(req)
              yield! response.CommonPrefixes |> Seq.map (fun folderName -> Folder(Prefix prefix, FolderName folderName))
              yield! response.S3Objects |> Seq.map S3Object
          
              if not <| String.IsNullOrWhiteSpace response.NextMarker then yield! loop response.NextMarker
          }
  