Hadley Wickham is working through a philosophy of packages / APIs for R in what he's calling the tidyverse, versus the messy-verse of R.
1. Reuse existing data structures.2. Compose simple functions with the pipe.
3. Embrace functional programming.
4. Design for humans.
The FP requirement seems unnecessary as packages / APIs should hide implementation details, and not force them upon the calling program.