anchor.diff:              | [| :? string as prefix |] ->
                   let typedSearch = runtimeType<obj> typeName
                   typedSearch.AddXmlDoc(sprintf "A strongly typed interface to a S3 search with prefix [%s]" prefix)
  -                typedSearch.AddMembersDelayed(fun () ->
  -                    getObjects client bucket (Prefix prefix)
  -                    |> Seq.map (createTypedS3Entry typedSearch client bucket isVersioned)
  -                    |> Seq.toList)
  +                typedSearch.AddMembersDelayed(fun () -> createTypedS3Entries typedSearch client bucket isVersioned prefix)
   
                   ownerType.AddMember(typedSearch)
                   typedSearch
  
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.AddXmlDoc(sprintf "A strongly typed interface to a versioned S3 object %s" s3Object.Key)
  
          // nested type to represent the latest version of the object
  
negative.code: // ## Example
  //
  //      type S3  = S3Provider.Account<"AWS Key", "AWS Secret">
  //      type bucket = S3.``my.bucket``
  //      type folder = bucket.``2013-12-13/``
  //      let etag = folder.``My file.txt``.ETag
  //      let utf8 = folder.``My file.txt``.Content.UTF8
  //      let raw  = folder.``My image.png``.Content.Raw
  //      let lastModified = folder.``My image.png``.LastModified
  //      type search = bucket.Search<"2013-12-">
  //      let searchResultContent = search.``2013-12-13``.``My file.txt``.Content.Raw
  //
  namespace AwsProviders
  
  