TODO
General C++ question: is it ok to have uninitialized constructors (e.g. PositionZ), even though I would never want such objects to be used, so that I can apply methods like bool applyMove(Position &res)?
Test number of collisions
BUGS BasicMovePickerZ does not play the same moves as BasicMovePickerHashZ ?? Test depth 4, play against itself. Oh no that's normal! It's because it->second).depth >= depth is not ==
PROPOSITIONS DE CLASSES
IDÉES :
Try to fork stockfish? At least try to understand some of it