Returns the cell at (x, y), or null if out of bounds.
x
y
Cell? cellAt(int x, int y) => (y < 0 || y >= lines.length) ? null : lines[y].at(x);