identy monad laws
HTML
<script src="https://cdn.jsdelivr.net/gh/eu81273/jsfiddle-console/console.js"></script>
JavaScript
const Id = (v) => ({
value: v,
bind: (func) => func(v),
map: (mapping) => Id(mapping(v))
})
var s = Id(Id(2)).bind(x => x)
//first law
var value = 2;
var f = x=>Id(x*x);
var m1= Id(value).bind(f);
console.log(m1.value)
var m2 = f(value);
console.log(m2.value)