#97 do not directly use hashCodes as a cache key