If you are expecting any book to magically turn your poor code into something better then you are going to be disappointed. Writing better code means you have to recognise what better code is, and this isn't straightforward. You can't simply produce a checklist of things to do, and finding advice that is specific to a language is also a tough problem.
I found that part of the problem is that the examples used are too big and the explanations don't really draw out the principles involved. The discussion is very dense and it is difficult to know if ideas are left out on purpose or by accident. For example, in the section on privacy, i.e. private variables and methods, closure isn't mentioned and yet it is the key to creating private entities. Interestingly closure isn't in the index but Clojure is.
Finally we have a chapter on functional refactoring (which is where a tiny mention of Clojure, Haskell and Scala is made). This is basically a tutorial on functional programming with a big example program.
Can C# be more effective?