<div dir="ltr"><div>Is this a question about how/if one could replicate its behavior in theory from ES code, or are you suggesting a change to the existing behavior for these exotic cases?</div><div><br></div><div>Assuming the former:</div><div><br></div><div>The relevant steps are [here](<a href="https://tc39.github.io/ecma262/#sec-serializejsonproperty">https://tc39.github.io/ecma262/#sec-serializejsonproperty</a>). The `instanceof` a value isn’t significant in this algorithm, just its slots (if it is an object) or its primitive type. So one can handle number and string by leveraging branded checks as you’ve shown — nothing more is needed than branded methods and typeof to manage that one.</div><div><br></div><div>However it is ultimately not possible to replicate because there is no possible brand test for [[BooleanData]].</div></div>