Here are some points to consider before final release of the hash
library (and primes library) with GNU Emacs 20.x:

(1) The Elisp manual says this about the apply function:

	File: elisp,  Node: Calling Functions,  Next: Mapping Functions,  Prev: Defining Functions,  Up: Functions

	Calling Functions
	=================
	...
	 - Function: apply FUNCTION &rest ARGUMENTS
	     `apply' calls FUNCTION with ARGUMENTS, just like `funcall' but
	     with one difference: the last of ARGUMENTS is a list of objects,
	     which are passed to FUNCTION as separate arguments, rather than a
	     single list.  We say that `apply' "spreads" this list so that each
	     individual element becomes an argument.

    I don't know how to write a user-defined function that behaves
    this way with respect to the handling of ARGUMENTS.  Ideally,
    I would like hash-apply and hash-apply-sorted to work like apply,
    so that the programmer is not burdened with treating ARG as a
    list when multiple arguments are needed after the KEY VALUE
    arguments.

(2) Should the hash.texi and primes.texi files document the fact that
    floating-point arithmetic is required, so that emacs must thus be
    version 19 or later?  I still have emacs-18.xx executables on some
    systems for testing, and the code failed to compile there because
    the function float, and floating-point constants, are
    unrecognized.  I don't see any need to fake floating-point with
    scaled integers: every machine bought today that runs emacs has
    hardware floating-point.
