const FP = require('functional-promises')
const errorTwoMaps = FP.chain()
.map(x => Promise.reject(x))
.map(x => Promise.reject(x))
.catch(e => {
console.log(e);
return new Error("silly");
})
.chainEnd();
const errorOneMap = FP.chain()
.quiet(0)
.map(x => Promise.reject(x))
.chainEnd();
errorOneMap([41])
.then(console.info.bind(console, 'ONE:'))
.catch(console.error.bind(console))
errorTwoMaps([42])
.then(console.info.bind(console, 'TWO:'))
.catch(console.error.bind(console))