Richard Bird's "Introduction to Functional Programming using Haskell, second edition" exceeds other introductory books by introducing laws (e.g., fold laws, fusion laws), efficiency issues (including the stack overflow question, deforestation), and monad transformers. IMO these are under-represented and greatly FUDed topics.