What is a frozenset data structure and how it works?