For other strings we make sure via PrintableString/UntrustableString that they are safe to print/log, etc. However, so far we omit validating the iso4217_code: CurrencyCode at all.
We should probably start validating that the supplied chars comply with the spec's alphabetic codes (i.e., are in A..Z, IIUC). At the very least we should check that they do not include escape characters, or provide a safe Display implementation (although stricter validation seams reasonable?).