More of a theoretical question, why not use something like quadratic probing or robin-hood for collision resolution? As far as I understand, there's no need to maintain linked lists and these implementations support higher load factors (90+% for robin hood hashing).