Introduced member generic parameter
Renamed and added more operators