A library for set operations with generic type supported