The `ToJson` trait doesn't actually do any of this: the user gets to decide how they wish to implement it and dictate the semantics that way.