A ConfigConcatenation represents a list of values to be concatenated (see the
spec). It only has to exist if at least one value is an unresolved
substitution, otherwise we could go ahead and collapse the list into a single
value.
Right now this is always a list of strings and ${} references, but in the
future should support a list of ConfigList. We may also support
concatenations of objects, but ConfigDelayedMerge should be used for that
since a concat of objects really will merge, not concatenate.
A ConfigConcatenation represents a list of values to be concatenated (see the spec). It only has to exist if at least one value is an unresolved substitution, otherwise we could go ahead and collapse the list into a single value.
Right now this is always a list of strings and ${} references, but in the future should support a list of ConfigList. We may also support concatenations of objects, but ConfigDelayedMerge should be used for that since a concat of objects really will merge, not concatenate.