This value_of signature here: https://github.com/stan-dev/math/blob/develop/stan/math/prim/mat/fun/value_of.hpp#L45

```
template <int R, int C>
inline typename Eigen::Matrix<double, R, C> value_of(
const Eigen::Matrix<double, R, C>& x) {
return x;
}
```

The comments say it should compile to a no-op and pass things through. But I don’t think that’s true? It throws away the const qualifier so unless the compiler does some backbends to prove to itself it doesn’t need to, it’s going to go ahead and construct another `Eigen::Matrix<double, R, C>`

.

Anyway I think this should return const reference so that we’re not depending on compiler optimizations to make this avoid unnecessary copies.