Fixed generics usage and renamed operator classes as per convention