"primes-between" was buggy when bounds were given in the wrong order or when the high bound was smaller than 3.
In any given 30 successive integers greater than 5, there are at most 8 prime numbers. Use this to tightly pack the result of the Eratostene sieve. This lets us store more prime numbers than before in less space.