Make hash_value() accept an optional seed