Euler 2 : Simple Fibonacci
I think the solution reads better if you separate concerns a bit more instead of rolling it all into one mega function.

For instance, with these helper functions (that each do one—and only one—thing):

let fib =
  Seq.unfold
    (fun (cur, next) -&gt; Some(cur, (next, cur + next)))
    (0I, 1I)

let isEven n = n % 2I = 0I


you can express the solution at a high level (almost at the level you would explain it in words!):

fib                                        //given the set of fibonacci numbers
|&gt; Seq.filter isEven                       //take those that are even
|&gt; Seq.takeWhile (fun n -&gt; n &lt;= 4000000I)  //not exceeding 4,000,000
|&gt; Seq.sum                                 //and sum them