it's easy enough to filter similar/identical numbers, strings, points, vectors, lines, circles and arcs, but it's a lot harder for freeform curves, surfaces, breps and meshes, as they can be topologically very different while still having the same shape.
I'll have a look at filtering those simple types of data. Should be able to supply some useful components for this.
The current approach to filtering duplicates usually involves sorting the data, then shifting it one index, then comparing those two lists, and cull items from the first list if the 'distance' between A and A' is small enough.