И вот еще два способа, просто чтобы продемонстрировать (даже) больше функций библиотеки F #:
let A = [|1;2;3|]
let isChosen = [|true;false;true|]
let B = Seq.map2 (fun x b -> if b then Some x else None) A isChosen
|> Seq.choose id
|> Seq.toArray
let C = Array.foldBack2 (fun x b acc -> if b then x::acc else acc) A isChosen []
|> List.toArray
Мой личный фаворит за понятность (и, следовательно, удобство обслуживания): ответ Desco
let r = [| for (v, f) in Seq.zip l f do if f then yield v|]