rather use `size_t i=0` for iteration, so you don't have to cast `hash_par`