query_unique now returns set, rather than list