don’t worry if lots of code knows how the model is defined
What does it mean to use Elm?
Max Goldstein

I think this is pretty true, however many times it’s good to hide the implementation so that you just don’t have to change lots of code if you make a breaking change. Especially if your model’s implementation is pretty involved.