Forgot to mention both on the phone and in the first email:
hash-table-comparator requires returning an ‘equivalent’ comparator to the one used to create the table.
This means if the comparator object had an ordering predicate, the hash table object has to store it even though it is of no use to the hash table implementation whatsoever. This is annoying for an implementation (say, one in terms of an implementation of R6RS hashtables which is already known to recall object order) which stores the functions of the comparator directly instead of storing the comparator itself.
Either the hash-table-comparator procedure should be allowed to return a comparator which contains only a type test, equality predicate, and hash function, even if the original comparator also had an ordering function; or (preferable in my view) the hash-table-comparator procedure should be nixed.
Daphne