Alright, when I made the reference to the json.org I made a mistake. Should have made the reference to the RFC. You are right that the RFC makes it clear that it is aware of possible interoperability problems and that some "common ground" should be acceptable for the underlying representation. (https://tools.ietf.org/html/rfc8259#section-6). I believe my proposal is not going against that. I have already stated in my previous mail to Paul that the default behavior (current implementation) which uses platform native float binary representation is fine. Adding the support that custom type may implement it is not the same as asking as having it implemented in the standard (default) implementation. As it turned out during the discussion here (at least for me and few others), it seems that asking for the general feature of "being able to insert custom (raw) output" is not really necessary and the sufficient would be only give this support to `float` type, because this is the only which is both - native type for both Python and JSON and at the same time could (and could be useful) being handled by custom type. Concerning for bit-to-bit vs byte-to-byte - no obsession here. It is just that the byte is the usual granularity of the (text) stream processors (either in or out), so I felt that using byte-to-byte was more fitting.