func (b *Board) OnBoard(v core.Position) bool { c := int(v.Column()) r := int(v.Row()) return c >= 0 && c < b.width && r >= 0 && r < b.height }
func (b *Board) indexPos(v core.Position) int { return b.index(v.Column(), v.Row()) }