Applied some reviewer comments:
Don't double wrap UDT converter in an OptionToNullConverter.
Added a comment explaining why primitiveConverterMap uses lambdas.