fp.cube = ($x) -> return parser.op($x ** 3) fp.cuberoot = ($x) -> return parser.op($x ** (1/3)) # fn.concat can be used as compose &funcs $= [fn.sin, fn.cos, fp.cube] &invFuncs $= [fn.asin, fn.acos, fp.cuberoot] $pair foreach($[pair], fn.arrayZip(&funcs, &invFuncs)) { parser.op(fn.println(($pair[0] ||| $pair[1])(.5))) }