Filtering write_array, log_prob, constrain_params, unconstrain_params by parameter in the model class

That doesn’t include any filtering. I was mainly trying to address programatically accessing parameter types, shapes, sizes, and values through C++.

I don’t think tuples are such a big deal for our current string based I/O, in that they can still be indexed. That is, if you have y = (a, b, c), then y.1, y.2 and y.3 pick out a, b, and c and you can keep indexing from there. The problem’s when we want to return things with structure, as that means some encoding like JSON or some kind of variant type, which is a huge pain in C++, or maybe something intermediate.