True in some cases I fold back to JSON:
https://github.com/mcuadros/go-candyjs/blob/master/base.go#L...
But the main goal of the project is be fully transparent more than the performance. At the very beginning I was making every case by hand but this is a endless work: https://github.com/mcuadros/go-candyjs/blob/54c8beb723aa8b1b...
I will take a closer look to the NaN issue and also a closer look to your code.
BTW I made a PR to go-duktape based on you fork: https://github.com/olebedev/go-duktape/commit/65f0be48ece4f6...