Well it depends a lot on what you want to achieve. The first design makes it easier to extend or to centralize error handling, but it might have less clear separation of concerns. The second makes it a bit harder to use but is a bit more scalable in the long run.
Personally I would just nest here, and only decide to move to the second approach when I find there is too much friction.
We have some threads on data modeling here, like this one: Domain modeling in Rescript - Resources, Patterns? which also contains book recommendations.