diff --git a/lib/delphi/test/Performance/DataFactory.pas b/lib/delphi/test/Performance/DataFactory.pas
index e131822..e6d70d9 100644
--- a/lib/delphi/test/Performance/DataFactory.pas
+++ b/lib/delphi/test/Performance/DataFactory.pas
@@ -26,17 +26,17 @@
 type
   TestDataFactory = class
   strict protected
-    class function CreateSetField(const count : Integer) : IHashSet< IInsanity>;  static;
+    class function CreateSetField(const count : Integer) : IThriftHashSet< IInsanity>;  static;
     class function CreateInsanity(const count : Integer) : IInsanity; static;
     class function CreateBytesArray(const count : Integer) : TBytes; static;
     class function CreateXtructs(const count : Integer) : IThriftList< IXtruct>; static;
     class function CreateXtruct(const count : Integer) : IXtruct; static;
-    class function CreateListField(const count : Integer) : IThriftList< IThriftDictionary< IHashSet< Integer>, IThriftDictionary< Integer, IHashSet< IThriftList< IThriftDictionary< IInsanity, string>>>>>>; static;
+    class function CreateListField(const count : Integer) : IThriftList< IThriftDictionary< IThriftHashSet< Integer>, IThriftDictionary< Integer, IThriftHashSet< IThriftList< IThriftDictionary< IInsanity, string>>>>>>; static;
     class function CreateUserMap(const count : Integer) : IThriftDictionary< TNumberz, Int64>; static;
-    class function CreateListFieldData(const count : Integer) : IThriftDictionary< IHashSet< Integer>, IThriftDictionary< Integer, IHashSet< IThriftList< IThriftDictionary< IInsanity, string>>>>>; static;
-    class function CreateIntHashSet(const count : Integer) : IHashSet< Integer>; static;
-    class function CreateListFieldDataDict(const count : Integer) : IThriftDictionary< Integer, IHashSet< IThriftList< IThriftDictionary< IInsanity, string>>>>; static;
-    class function CreateListFieldDataDictValue(const count : Integer) :  IHashSet< IThriftList< IThriftDictionary< IInsanity, string>>>; static;
+    class function CreateListFieldData(const count : Integer) : IThriftDictionary< IThriftHashSet< Integer>, IThriftDictionary< Integer, IThriftHashSet< IThriftList< IThriftDictionary< IInsanity, string>>>>>; static;
+    class function CreateIntHashSet(const count : Integer) : IThriftHashSet< Integer>; static;
+    class function CreateListFieldDataDict(const count : Integer) : IThriftDictionary< Integer, IThriftHashSet< IThriftList< IThriftDictionary< IInsanity, string>>>>; static;
+    class function CreateListFieldDataDictValue(const count : Integer) :  IThriftHashSet< IThriftList< IThriftDictionary< IInsanity, string>>>; static;
     class function CreateListFieldDataDictValueList(const count : Integer) : IThriftList< IThriftDictionary< IInsanity, string>>; static;
     class function CreateListFieldDataDictValueListDict(const count : Integer) : IThriftDictionary< IInsanity, string>; static;
   public
@@ -58,10 +58,10 @@
   result.String_field := Format('data level %d', [count]);
 end;
 
-class function TestDataFactory.CreateSetField(const count : Integer) : IHashSet< IInsanity>;
+class function TestDataFactory.CreateSetField(const count : Integer) : IThriftHashSet< IInsanity>;
 var i : Integer;
 begin
-  result := THashSetImpl< IInsanity>.Create;
+  result := TThriftHashSetImpl< IInsanity>.Create;
   for i := 0 to count-1 do begin
     result.Add(CreateInsanity(count));
   end;
@@ -103,46 +103,46 @@
   result.Add(TNumberz.EIGHT, count);
 end;
 
-class function TestDataFactory.CreateListField(const count : Integer) : IThriftList< IThriftDictionary< IHashSet< Integer>, IThriftDictionary< Integer, IHashSet< IThriftList< IThriftDictionary< IInsanity, string>>>>>>;
+class function TestDataFactory.CreateListField(const count : Integer) : IThriftList< IThriftDictionary< IThriftHashSet< Integer>, IThriftDictionary< Integer, IThriftHashSet< IThriftList< IThriftDictionary< IInsanity, string>>>>>>;
 var i : Integer;
 begin
-  result := TThriftListImpl< IThriftDictionary< IHashSet< Integer>, IThriftDictionary< Integer, IHashSet< IThriftList< IThriftDictionary< IInsanity, string>>>>>>.Create;
+  result := TThriftListImpl< IThriftDictionary< IThriftHashSet< Integer>, IThriftDictionary< Integer, IThriftHashSet< IThriftList< IThriftDictionary< IInsanity, string>>>>>>.Create;
   for i := 0 to count-1 do begin
     result.Add(CreateListFieldData(count));
   end;
 end;
 
-class function TestDataFactory.CreateListFieldData(const count : Integer) : IThriftDictionary< IHashSet< Integer>, IThriftDictionary< Integer, IHashSet< IThriftList< IThriftDictionary< IInsanity, string>>>>>;
+class function TestDataFactory.CreateListFieldData(const count : Integer) : IThriftDictionary< IThriftHashSet< Integer>, IThriftDictionary< Integer, IThriftHashSet< IThriftList< IThriftDictionary< IInsanity, string>>>>>;
 var i : Integer;
 begin
-  result := TThriftDictionaryImpl< IHashSet< Integer>, IThriftDictionary< Integer, IHashSet< IThriftList< IThriftDictionary< IInsanity, string>>>>>.Create;
+  result := TThriftDictionaryImpl< IThriftHashSet< Integer>, IThriftDictionary< Integer, IThriftHashSet< IThriftList< IThriftDictionary< IInsanity, string>>>>>.Create;
   for i := 0 to count-1 do begin
     result.Add( CreateIntHashSet(count), CreateListFieldDataDict(count));
   end;
 end;
 
-class function TestDataFactory.CreateIntHashSet(const count : Integer) : IHashSet< Integer>;
+class function TestDataFactory.CreateIntHashSet(const count : Integer) : IThriftHashSet< Integer>;
 var i : Integer;
 begin
-  result := THashSetImpl< Integer>.Create;
+  result := TThriftHashSetImpl< Integer>.Create;
   for i := 0 to count-1 do begin
     result.Add(i);
   end;
 end;
 
-class function TestDataFactory.CreateListFieldDataDict(const count : Integer) : IThriftDictionary< Integer, IHashSet< IThriftList< IThriftDictionary< IInsanity, string>>>>;
+class function TestDataFactory.CreateListFieldDataDict(const count : Integer) : IThriftDictionary< Integer, IThriftHashSet< IThriftList< IThriftDictionary< IInsanity, string>>>>;
 var i : Integer;
 begin
-  result := TThriftDictionaryImpl< Integer, IHashSet< IThriftList< IThriftDictionary< IInsanity, string>>>>.Create;
+  result := TThriftDictionaryImpl< Integer, IThriftHashSet< IThriftList< IThriftDictionary< IInsanity, string>>>>.Create;
   for i := 0 to count-1 do begin
     result.Add(i, CreateListFieldDataDictValue(count));
   end;
 end;
 
-class function TestDataFactory.CreateListFieldDataDictValue(const count : Integer) :  IHashSet< IThriftList< IThriftDictionary< IInsanity, string>>>;
+class function TestDataFactory.CreateListFieldDataDictValue(const count : Integer) :  IThriftHashSet< IThriftList< IThriftDictionary< IInsanity, string>>>;
 var i : Integer;
 begin
-  result := THashSetImpl< IThriftList< IThriftDictionary< IInsanity, string>>>.Create;
+  result := TThriftHashSetImpl< IThriftList< IThriftDictionary< IInsanity, string>>>.Create;
   for i := 0 to count-1 do begin
     result.Add( CreateListFieldDataDictValueList(count));
   end;
diff --git a/lib/delphi/test/TestClient.pas b/lib/delphi/test/TestClient.pas
index df0b4c5..040f815 100644
--- a/lib/delphi/test/TestClient.pas
+++ b/lib/delphi/test/TestClient.pas
@@ -408,8 +408,8 @@
   strkey : string;
   listout : IThriftList<Integer>;
   listin : IThriftList<Integer>;
-  setout : IHashSet<Integer>;
-  setin : IHashSet<Integer>;
+  setout : IThriftHashSet<Integer>;
+  setin : IThriftHashSet<Integer>;
   ret : TNumberz;
   uid : Int64;
   mm : IThriftDictionary<Integer, IThriftDictionary<Integer, Integer>>;
@@ -672,7 +672,7 @@
   // Translates to an STL set, Java HashSet, set in Python, etc.
   // Note: PHP does not support sets, so it is treated similar to a List
   StartTestGroup( 'testSet', test_Containers);
-  setout := THashSetImpl<Integer>.Create;
+  setout := TThriftHashSetImpl<Integer>.Create;
   for j := -2 to 2 do
   begin
     setout.Add( j );
diff --git a/lib/delphi/test/TestServer.pas b/lib/delphi/test/TestServer.pas
index 8aaf9f3..d7cc026 100644
--- a/lib/delphi/test/TestServer.pas
+++ b/lib/delphi/test/TestServer.pas
@@ -71,7 +71,7 @@
         function testNest(const thing: IXtruct2): IXtruct2;
         function testMap(const thing: IThriftDictionary<Integer, Integer>): IThriftDictionary<Integer, Integer>;
         function testStringMap(const thing: IThriftDictionary<string, string>): IThriftDictionary<string, string>;
-        function testSet(const thing: IHashSet<Integer>): IHashSet<Integer>;
+        function testSet(const thing: IThriftHashSet<Integer>): IThriftHashSet<Integer>;
         function testList(const thing: IThriftList<Integer>): IThriftList<Integer>;
         function testEnum(thing: TNumberz): TNumberz;
         function testTypedef(const thing: Int64): Int64;
@@ -320,7 +320,7 @@
   Console.WriteLine('testOneway finished');
 end;
 
-function TTestServer.TTestHandlerImpl.testSet( const thing: IHashSet<Integer>):IHashSet<Integer>;
+function TTestServer.TTestHandlerImpl.testSet( const thing: IThriftHashSet<Integer>):IThriftHashSet<Integer>;
 begin
   Console.Write('testSet(');
   if thing <> nil then Console.Write(thing.ToString);
diff --git a/lib/delphi/test/skip/skiptest_version2.dpr b/lib/delphi/test/skip/skiptest_version2.dpr
index b3a270d..e1c5f83 100644
--- a/lib/delphi/test/skip/skiptest_version2.dpr
+++ b/lib/delphi/test/skip/skiptest_version2.dpr
@@ -46,7 +46,7 @@
 
 function CreatePing : IPing;
 var list : IThriftList<IPong>;
-    set_ : IHashSet<string>;
+    set_ : IThriftHashSet<string>;
 begin
   result := TPingImpl.Create;
   result.Version1  := TConstants.SKIPTESTSERVICE_VERSION;
@@ -69,13 +69,13 @@
   list.Add( result.StructVal);
   list.Add( result.StructVal);
 
-  set_ := THashSetImpl<string>.Create;
+  set_ := TThriftHashSetImpl<string>.Create;
   set_.Add( 'one');
   set_.Add( 'uno');
   set_.Add( 'eins');
   set_.Add( 'een');
 
-  result.MapVal := TThriftDictionaryImpl< IThriftList<IPong>, IHashSet<string>>.Create;
+  result.MapVal := TThriftDictionaryImpl< IThriftList<IPong>, IThriftHashSet<string>>.Create;
   result.MapVal.Add( list, set_);
 end;
 
