```python
from typing import List, Optional

def cell_at(grid: List[List[int]], row: int, column: int) -> Optional[int]:
    """
    Returns the value at the specified row and column in the grid.
    Returns None if either row or column is out of bounds.
    """
    if not grid or row < 0 or column < 0:
        return None
    try:
        return grid[row][column]
    except IndexError:
        return None

def diag_of(grid: List[List[int]]) -> List[int]:
    """
    Returns the values running down the grid's main diagonal from the top left.
    """
    if not grid:
        return []
    return [grid[i][i] for i in range(len(grid))]
```