Since the value translator lookup might potentially get rather giant in the future, it is wrapped in a trivial
on-demand provider to ensure it is really only created (and held in memory forever) if necessary.
This implementation includes type information for types added to the
serializers type registry in the current serialization and all previous
serializations.