pub fn detect_cycle(start: &CellRef, grid: &Grid) -> Option<Vec<CellRef>>
Detect circular dependencies starting from a cell. Returns Some(cycle_path) if a cycle is found, None otherwise.