setup method
Implementation
void setup({String? fen, FenBuilder? fenBuilder}) {
zobrist = Zobrist(variant, zobristSeed);
// Order of precedence: fen, fenBuilder, variant.startPosBuilder,
// variant.startPosition.
fenBuilder ??= variant.startPosBuilder?.build;
startPosition =
fen ?? fenBuilder?.call(seed: startPosSeed) ?? variant.startPosition!;
loadFen(startPosition, initialSetup: true);
}