I implemented several helper functions around this. Basically I have a row based function that makes sets unique then I have aggregation functions that give me the cardinality of these sets. I use intset when I can, otherwise I use the "key" part of hstore in substitute of the missing set structure
I've been pushing hard to use: https://github.com/aggregateknowledge/postgresql-hll
Being able to switch algorithms based on size IMO makes that one of the most badass thing about postgres right now.