const Reader = require('ramda-fantasy').Reader;
const R = require('ramda');
const fnA = (a) => Reader(env => a + env.a)
const fnB = (b) => Reader(env => b + env.b)
const fnAB = R.pipe(
fnA,
R.map(fnB)
)
fnAB(20).run({ a: 1, b: 2}).run({ a: 1, b: 2})
// Desired output: 23