Keep talking. Don't you always have to run the superko check?
I check it by maintaining a list of rot/mir/colrev invariant board hashes
and walking over it for every move.
Of course this can be greatly sped up by hashing the hashes into an array
with slots for the number of stones on the board etc. So you don't compare
say 250 board hashes worst-case or 100 typical, but only 2 or 3 worst-case.
I am making this up as I go so don't flame me when there's a thinking
mistake here.