It does not have infinite cycles because of the 50 move rules and repeated position rules, so the same position is not necessarily the same state/position. Or depending on how you model the data structure, cycles at all.