When built in DEBUG mode (the Nuget build is RELEASE mode) it will
print the type argument for each call to SerialiseObjectWorker()
or DeserialiseObjectWorker() so you can track its progress.
No matter how it's built, if an exception is encountered, it will
store the type, and, in the case of SerialiseObject(), the object
itself, inside the exception's Data dictionary and rethrow. The
relevant keys are "Whoa: Type" and "Whoa: Object".
This info helped me track down a confusing NullReferenceException
that turned out to be an Enum, which didn't deserialise properly.
Now they do! :)