decorator pattern in JavaScript
``` const compose = (...funcs) => initialArg => funcs.reduceRight ((acc, f) => f(acc), initialArg); function isBiggerThanThree(value) { return value > 3 } function mapBoolToHumanOutput(value) { return value ? "yes": "no" } const biggerThanThreeAndMapOutput = compose( mapBoolToHumanOutput, isBiggerThanThree ) console.log(biggerThanThreeAndMapOutput(3)); ```