for the last year I replied 3 times with a silly snippet:
```
SELECT
    [2, 3, 4] AS x,
    pow(2, arraySum(i -> log2(i), x)) AS arrayProduct
┌─x───────┬─arrayProduct─┐
│ [2,3,4] │           24 │
└─────────┴──────────────┘
```

I think we need a function to multiply elements of an array.
#include <DataTypes/DataTypesNumber.h>
#include <DataTypes/DataTypesDecimal.h>
#include <DataTypes/DataTypeDateTime64.h>
#include <Columns/ColumnsNumber.h>
#include <Columns/ColumnDecimal.h>
#include "FunctionArrayMapped.h"
#include <Functions/FunctionFactory.h>
#include <common/defines.h>
namespace DB
{
namespace ErrorCodes
{
    extern const int ILLEGAL_TYPE_OF_ARGUMENT;
    extern const int ILLEGAL_COLUMN;
}
enum class AggregateOperation