Functional Programming Libraries Ramda Articles FP Concepts in Javascript Favoring Curry Why Ramda functional-fronted-architecture