On Thu, Jul 14, 2022 at 1:31 PM John Cowan <xxxxxx@ccil.org> wrote:
 
It would certainly work to do that, but I wanted to handle user-specified fine-grained predicates.  But I was wondering if Scheme actually allows any predicates that are finer-grained than equal?.  (There are predicates with narrower scope, like = that only works on numbers, but that's not part of the definition.)  I guess you could define one arbitrarily, like a predicate that equates all numbers but otherwise works like eqv?. 

How would an implementation determine whether an equality predicate was more or less fine-grained in order to decide whether to use the user-supplied hash function?