Я все еще новичок в функциональном программировании, поэтому, если я не могу понять, как что-то сделать, я возвращаюсь к процедурному стилю. Я нашел способ обойти необходимость преобразования в список, но я все еще хотел бы знать, как.
Вот моя попытка преобразовать двумерный массив в список.
let board = Array2.init 10 20 (fun i j -> pull(i, j))
let mutable pieces = []
board
|> Array2.mapi (fun i j a -> transform(i, j, a))
|> Array2.iter (fun a -> (pieces <- a :: pieces))