as much as I appreciate #801, it only address some of the cases.
for instance, the same issue occurs when buffering "regular" properties, and "any" properties.
Additionally, the error handling for creator.build() (ie. two lines down), seems incorrect. I suspect it should use the same handling as it does in later parts of the code for the same method -- otherwise it erroneously blames a specific creator property that may have done nothing wrong other than be last.
Same things apply to the mostly identical method deserializeUsingPropertyBasedWithUnwrapped. Let me know if you need a PR for this one, although I feel like the detailed description and links should make it easy enough to understand.