```ts
export function cellAt(grid: number[][], row: number, column: number): number | undefined {
  if (row < 0 || row >= grid.length || column < 0 || column >= grid[row].length) {
    throw new Error('Grid index out of bounds');
  }
  return grid[row][column];
}

export function diagOf(grid: number[][]): number[] {
  const diagonalValues: number[] = [];
  for (let i = 0; i < grid.length; i++) {
    diagonalValues.push(cellAt(grid, i, i));
  }
  return diagonalValues;
}
```