const LazyBox = g =>
({
fold: f => f(g()),
map: f => LazyBox(() => f(g()))
})
const result = LazyBox(() => ' 64 ')
.map(abba => abba.trim())
.map(trimmed => new Number(trimmed))
.map(number => number + 1)
.map(x => String.fromCharCode(x))
.fold(x => x.toLowerCase())
console.log(result)
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<!-- // make console.log write to the page for better in-browser experience -->
<script>
(function () {
var body = document.querySelector('body');
body.style['fontFamily'] = 'monospace';
body.style['fontSize'] = '2em';
console.log = function (x) { body.innerText += x + '\n'; };
}());
</script>
<script src="script.js"></script>
</body>
</html>