Unicode.Set.Operation.reduce

You're seeing just the function reduce, go back to Unicode.Set.Operation module for more information.

Reduces all sets, properties and ranges to a list of 2-tuples expressing a range of codepoints.

It can return one of two forms

[{:in, [tuple_list]}] for an inclusion list

[{:not_in, [tuple_list]}] for an exclusion list

or a combination of both.

Attempts are made to preserve :not_in clauses as long as possible since many uses, like regexes and nimble_parsec can consume :not_in style ranges.

When only single character classes are presented, or several classes which are unions, :not_in can be preserved.

When intersections and differences are required, the rnages must be both reduced and expanded in order for this set operations to complete.