Was just reading about this because I am writing a chess engine. I am using somebody else's move generator, I am not sure how it works but it is not front of mind because it is spending most time evaluating and managing transposition tables according to the profiler, I can at least 5x those and maybe I will worry about another microoptimisation then. But really move ordering can make a 10x change and I am going to iterative deepening, pv, killer heuristic and such.