I tend to like books that teach something deep about programming, and just happen to be in some programming language or other. My all-time favorites are "Structure and Interpretation of Computer Programs," (SICP) by Abelson & Sussman; and "Introduction to Functional Programming (1st Ed.)," (IFP), by Bird and Wadler. Anyone who has had the privilege of reading these comes away with a lifetime supply of powerful insights. The first happens to be in Scheme, and the second happens to be in Miranda, but the languages merely serve the teaching, and the teaching transcends the languages.
This book is in the same class. Every page is packed with real code that begs to be keyboarded in, studied, tweaked, played with, and internalized. Most of the samples are short, accessible representatives of much larger whole classes of techniques, like parsing with combinators, or symbolic differentiation, or monadic disciplining of side effects, or metaprogramming (with and without reflection), or dispatch-on-type in a number of interesting variations. As such, they entice the programmer to dig much deeper.
F# is a unique and audacious experiment. It attempts to bring together things that are about as different as can be: object-oriented programming and functional programming. It builds on another audacious effort: .NET, which aims to provide a permanent foundation for object-oriented programming. When .NET was created, functional programming was not in the scope of the effort, so little support was built in. Subsequent successes of Haskell, OCaml, Erlang, and others, plus the now-obvious demands of parallel and distributed computing, changed the landscape. F# is a bold statement that "we can have the best of both worlds."
One should realize that learning .NET is a huge task on its own. Learning the functional style is challenging on its own because it is so different from the "ordinary" techniques one learns in BASIC, All The C's, Java, and so on. F# is a large language comprising multiple schools of programming and dozens of partially overlapping feature sets. But there is a way to make sense of it all, to make it sufficiently logical and consistent for human comprehension. This book will give you your best shot at it. It's a permanent member of my bookshelf.