The book definitely delivers on both fronts. There is a solid discussion of F# syntax, what it does, how it supports a functional way of thinking and how you can improve C# code to benefit from these ideas. I will be re-reading and experimenting with variations of examples in this book for months. In other words, you get a *lot* for your money.
I found this book a little strange and difficult to read for the following reasons:
1) It explains functional programming concepts as if the reader is completely new to it. I found myself skimming through lots of text that I felt was obvious from the F# code snippet.
2) It spends way too much time talking about applying functional thinking to C# code. I found this unnecessary because F# and C# are different tools for different applications - I'll use F# when I think a functional approach is right. A couple of lines of text that describe roughly what one would have had to do in C# to achieve the same effect (plus perhaps C# snippets in an appendix) would have been sufficient.
3) The flow of the book wasn't right for me because I like to get the syntax out of the way before tackling everything else. A small chapter at the beginning that offered a "crash course on F# syntax" would have greatly improved the book for me.
But I don't think that is the kind of book the authors set out to write.
WHY READ IT?
This book won't get you up to speed with F# quickly. The examples aren't from the real world. You cannot use this as a reference book. Strictly speaking, it's not even a book about functional programming.
This is a book about functional *thinking*, written for those who know your typical C, C++, Java or PHP. A better title for this book might have been "Functional Thinking for OOP/Imperative Programmers: From C# to F#". It is a functional programming book for those who haven't taken a CS class using a functional language.
If you are looking for a book that will help you add F# to your language toolset, this is not it. But if you're the type that often writes a line of code and wonders why the language looks the way it does, it doesn't get any better. This is a timeless book that I will refer to whenever I write a line of F# and wonder: "why does it do that?"