move generic rational hashing definitions into hashing2.jl