When we use pybind11 for example to forward using:
std::vector<at::Tensor> lltm_forward(
    at::Tensor input,
    at::Tensor weights,
    at::Tensor bias,
    at::Tensor old_h,
    at::Tensor old_cell) {
}

Are tensors passed by reference, or by value? Can I modify them?