anchor.diff:      LResponseStream := TGCMemoryStream.Create;
       try
         ObjectToStream<T>(Client.Request, ARequestEntity, LRequestStream);
  -      Client.Patch(URL, LRequestStream, LResponseStream, CustomHeaders);
  +      InternalHttpRequest(AHttpMethod, LRequestStream, LResponseStream, CustomHeaders);
         StreamToObject(AResponseEntity, Client.Response, LResponseStream);
       finally
         LResponseStream.Free;
  
positive.code:     procedure GenericDelete(AResponseEntity: TObject); overload;
      function GenericPatch<T, V>(const ARequestEntity: T): V; overload;
      procedure GenericPatch<T>(const ARequestEntity: T; AResponseEntity: TObject); overload;
  
      // http verbs
      procedure GET(const ABeforeExecute: TWiRLClientProc = nil;
  
negative.code:     LResponseStream := TGCMemoryStream.Create;
      try
        ObjectToStream<T>(Client.Request, ARequestEntity, LRequestStream);
        InternalHttpRequest(AHttpMethod, LRequestStream, LResponseStream, CustomHeaders);
        Result := StreamToObject<V>(Client.Response, LResponseStream);
      finally
        if not SameObject<V>(Result, LResponseStream) then
  