Returning undefined instead of throwing an error is an old approach and quite annoying because it requires a !== undefined check or non-null assertion on every call.
I would like these methods to throw instead of returning undefined.
This will not change that, for example, array elements that fail to deserialize get substituted with undefined.