Reading empty arrays and objects was broken. This has now been fixed. Pretty printing has been added in full, complete with a few compile-time optimisations for non pretty versions, which are the default.