Since sets are implemented using the elements as the domain of a hash table,
the following must be true:
* element contracts for (seteq ...) must be flat
* element contracts for (seteqv ...) must be flat
* element contracts for (set ...) must be chaperones, and the resulting
contract is a chaperone contract
Also, change higher-order set/c contracts to be chaperone contracts
due to the new restrictions.
moved docs for predicates down near the end of the file;
currently it goes: constructors, operations, predicates & contract, iterator stuff
added docs for set-equal?
used the name 'st' following the style guide's suggestion of 'lst' for lists
since it should use the same parameter name everywhere, change this everywhere
also: rackety