Module board
The representation of a game state.
Trait to fake generic associated types, can be removed once that’s stable. See https://github.com/rust-lang/rust/issues/44265.