{"ScriptPreparationCode":"var composeFirst = (...fns) =\u003E fns.reduce((f, g) =\u003E a =\u003E f(g(a)))\r\n\r\nvar composeAfter = (...fns) =\u003E a =\u003E fns.reduceRight((g, f) =\u003E f(g), a)\r\n\r\nvar addOne = x =\u003E x \u002B 1\r\n\r\nvar addOnes = Array.from({ length: 20 }, () =\u003E addOne)\r\n\r\ncalcFirst = composeFirst(...addOnes)\r\n\r\ncalcAfter = composeAfter(...addOnes)","TestCases":[{"Name":"Reduce to composed function","Code":"calcFirst()","IsDeferred":false},{"Name":"Iterate through functions","Code":"calcAfter()","IsDeferred":false}]}