said:
val to_ir : Field -> IR_Field =
Vector.mapi
( fn (y, row) =>
let fun pairs x acc (a::b::rest) =
pairs (x+1)
( { src = (a,b)
, cmd = NONE : IR_Cmd option
, x_y = (x, y)
}::acc )
rest
| pairs x acc _ = acc
in
(Vector.fromList o List.rev o pairs 0 [] o String.explode) row
end
)