Dedicated internal object for round-tripping through PY_ensurepy
It feels icky to need a toJSON on
py.object, but there's no other way if any object entering through the context (as a JS object) should be possible to output ISO. And this should work correctly.
Unless there's a special
py.object used by
PY_ensurepy, which is dedicated to being a result of non-array Objects going through
PY_ensurepy. It could even implement both __getitem__ and __getattr__ so it'd work exactly the same way JS object literals do, acting as both an object and a dict of sorts.