With JSON being so simple, how do you even manage to create a library which accepts so many invalid documents