Cool to "see" F# in action. Like the union types, but not so much the list operations; seems more natural to: [1;2;3;4] filter isEven sum vs. List.filter isEven [1;2;3;4] |> List.sum in Scala it's: List(1,2,3,4) filter isEven sum Of course I'm not familiar with F# so don't know all of the WIN within (Type Providers, for example, are very impressive, would love to see that on the Scala side of the fence one day).
[1; 2; 3; 4] |> List.filter isEven |> List.sum
That way you maintain the same operator order as you do in Scala, while maintaining some consistency with currying.
In addition, you can add other functions really simply while still maintaining the order.
[1; 2; 3; 4] |> List.filter isEven |> List.sum |> printfn "%i"