Hands-On Functional Programming in Rust: Build modular and reactive applications with functional programming techniques in Rust 2018Andrew Johnson