I'm writing a book, which covers the mental models for writing code in a functional style. The examples are in Scala, but it will be useful if you use other modern languages like Rust, Kotlin, Swift, OCaml, or Typescript.

https://functionalprogrammingstrategies.com/