I have a function `createLLHandGRAD(data, kw...)`

which returns several callbacks.

One of them is the `LLH`

function

```
function LLH(pars)
# get a vector of parameters
@inbounds res = sum(log(COHSQ(EXTND(data[e,:]).*pars)) for e in 1:Nd)
bilin = Nd * (pars ⋅ (BM * pars)) # BM is a matrix
- res + bilin # just a number
end
```

By profiling, I realized that in addition to calculation time(first towel) and `_getindex`

(last towel)

40% of the time is spent to `materialize`

and `copy`

.

Is it something one can expect? Are there any performance tips to me?

Thank you in advance.