Promise Composition
https://github.com/eu81273/jsfiddle-console
HTML
<script src="https://rawgit.com/eu81273/jsfiddle-console/master/console.js"></script>
<script src="https://code.jquery.com/jquery-3.4.0.js"></script>
JavaScript
var Coyo= (value, accf) =>({
map: (f) => Coyo(value, x => f(accf(x))),
lower : (v) => accf(value)
})
var r = Coyo(5,x=>x)
.map(x=>x*x)
.map(x=>x*2)
.lower()
console.log(r)