I just have three comments. I'm a little pressed for time today and I'm not sure
I'll be able to make it for long.
1. I think it would be helpful to make the separation between model and fit
explicit. For example, while it's convenient to pass the *fit* object to
stan() when one wants to rerun a model, it really is the model that one is
reusing. Perhaps one could pass fit@model or mark the reuse of the fit
object as a kind of convenience macro.
2. I'd like to see serialization of the fit object (and all results) separated
from any kind of serialization of the model. Fit objects, serialized, should
be cross-platform, whereas model instances need not be. (One should, of
course, store a copy of the model_code, random seed, etc in the fit object.)
3. I feel like stan_optimize or stan_optimizing is clearer than stan_mle. I'd
even prefer stan_maximize_likelihood() (well, maybe)
Best wishes,
-a