Haskellのbreak関数をF#で

こんなかんじだと思う。

let break' f list =  
let rec loop list acc =
match list with
| [] ->
List.rev acc, list
| h::t ->
if
f h then
List.rev acc, list
else
loop t (h::acc)
loop list []

[1;2;3;4;5] |> break' ((=) 3) |> printfn "%A" // ([1; 2], [3; 4; 5])[1;2;3;4;5] |> break' ((=) 1) |> printfn "%A" // ([], [1; 2; 3; 4; 5])[1;2;3;4;5] |> break' ((=) 0) |> printfn "%A" // ([1; 2; 3; 4; 5], [])