Just because.
This defines adapter classes for converting from the tcp<> class to the abstractions that applications use. Still very inefficient due to impedance mismatch between the data types used.