Ill-typed arguments supplied to infix operator * - error w new array type

right. thanks.
I’m actually wondering how to best explain the logic in

data {
int<lower=1> n;
array[n] int h;
vector<lower=0, upper=1>[n] memory;
}

where both outcome of a bernoulli (h) and predictor (memory) are vectors, but the outcome is best specified as an array and the predictor as a vector.