-type type() :: #{'__type__' => 'clojerl.Set', set => map(), count => non_neg_integer(), meta => undefined | any()}.
-spec '__new__'(list()) -> type().
-spec '__new__'(list(), boolean()) -> type().