> I don't know, MDN docs state that Objects are serialized as they're handed to the worker, and subsequently, de-serialized on the other end. I'd be highly surprised they don't use standard JSON implementation there.

According to the docs it's not JSON but [structured cloning](https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/The_structured_clone_algorithm), hence my concern about `#toJSON`

> Explicit over implicit sounds good, though here it makes things more verbose with not much added value for the developer imho. Matter of taste probably.
> [...] though if serialization is achieved behind the scene they'll receive the expected raw data structures.

That's why I suggested to have that in the `#_send` method of the `SPA` object. This way we explicitly say the objects are deflated to a data structure, but we allow the developer to give a JSON serializable object. However I'm concerned it would still be confusing for someone reading the code.

Can we land this pull request and take a decision after on a **quick** 1:1 discussion ? I'm thinking of removing these verbose `.toJSON()` calls but I would prefer to discuss about that before.