Produces a custom hash table-based set using the given equality predicate
equiv? and optional hash functions hash-primary and
hash-secondary. If no hash functions are given, they default to a
degenerate hash function, resulting in an effectively list-based set. The set
is populated with the given elem values.

Constructs a dictionary based on custom comparison and optional hash functions.
Given no hash functions, the dictionary defaults to a degenerate hash function
and is thus essentially equivalent to a list-based dictionary.

Computes the union of d0 with each dictionary d by functional
update, adding each element of each d to d0 in turn. For each
key k and value v, if a mapping from k to some value
v0 already exists, it is replaced with a mapping from k to
(combine/keykv0v).

Computes the union of d0 with each dictionary d by mutable
update, adding each element of each d to d0 in turn. For each
key k and value v, if a mapping from k to some value
v0 already exists, it is replaced with a mapping from k to
(combine/keykv0v).

Produces a value appropriate for prop:dict for a derived dictionary
type recognized by pred. Dictionaries constructed from this property
will extract a nested dictionary using unwrap and will produce a
wrapped dictionary during functional update using wrap.

Computes the union of h0 with each hash table h by functional
update, adding each element of each h to h0 in turn. For each
key k and value v, if a mapping from k to some value
v0 already exists, it is replaced with a mapping from k to
(combine/keykv0v).

Computes the union of h0 with each hash table h by mutable
update, adding each element of each h to h0 in turn. For each
key k and value v, if a mapping from k to some value
v0 already exists, it is replaced with a mapping from k to
(combine/keykv0v).