After some discussion with colleagues from V8, we figured out the BiDi implementation doesn't follow the specification, and there is no way to follow it properly in the current approach with having serialization/deserialization on the Mapper level.
Specification is based on the internal JS slots, and there is no way to have access to them from the JS level. To properly comply with specification, the serialization and deserialization should be moved to CDP level.
The good news is it's possible. And even more, there are some other cases when having a `bidiValue` in the `RemoteObject` would be useful. We don't have to rush into that right now, but I guess it should be eventually done. I created issues for that: