Puzzle: Use temporary variables when dereferencing initial_board If we directly use `(!) initial_board [x, y]`, the C code generated by valac 0.48.16 sets a temporary variable to a pointer into `initial_board`, and then frees that pointer when it goes out of scope, leaving a dangling pointer in `initial_board` which causes a double-free and a crash.