let data = [ 1; 2; 3; 4; 5; 3; 1 ]
let test f =
for v,evaled in List.zip data (f data) do
printfn "%d -> %b" v evaled
let eval = List.mapi(fun i v -> if i = 0 then v >= 3 else v < 3)
test eval
bGV0IGRhdGEgPSBbIDE7IDI7IDM7IDQ7IDU7IDM7IDEgXQpsZXQgdGVzdCBmID0KICAgIGZvciB2LGV2YWxlZCBpbiBMaXN0LnppcCBkYXRhIChmIGRhdGEpIGRvCiAgICAgICAgcHJpbnRmbiAiJWQgLT4gJWIiIHYgZXZhbGVkCgpsZXQgZXZhbCA9IExpc3QubWFwaShmdW4gaSB2IC0+IGlmIGkgPSAwIHRoZW4gdiA+PSAzIGVsc2UgdiA8IDMpCgp0ZXN0IGV2YWw=