public IFormatterCtorExpression <TValueFormatter> AddFormatter <TValueFormatter>() where TValueFormatter : IValueFormatter
        {
            var formatter = new DeferredInstantiatedFormatter(BuildCtor(typeof(TValueFormatter)));

            AddFormatter(formatter);

            return(new FormatterCtorExpression <TValueFormatter>(this));
        }
        public IFormatterCtorExpression AddFormatter(Type valueFormatterType)
        {
            var formatter = new DeferredInstantiatedFormatter(() => _formatterCtor(valueFormatterType));

            AddFormatter(formatter);

            return(new FormatterCtorExpression(valueFormatterType, this));
        }