def set_at
import minebender-game@1.0.0.0/board.bend as Boardimport Base
import minebender-game@1.0.0.0/types.bend as T
106# The grid g with the cell at p replaced by v (unchanged when p is off it).
107def set_at(-A: Data, +g: T.Grid(A), p: T.Pos, v: A) -> T.Grid(A):
108 match p:
109 case T.Pos{x, +y}:
110 row = Maybe.default(&2, List<&2, A>, List.get(&2, List<&2, A>, g, y), Nil{})
111 List.set(&2, List<&2, A>, g, y, List.set(&2, A, row, x, v))