Once this was adopted, there was still one problem, how to specify
UCNs in the Standard. Both the C and C++ committees studied this
situation and the available solutions, and drafted three models:
A. Convert everything to UCNs in basic source characters as soon as
possible, that is, in translation phase 1.
B. Use native encodings where possible, UCNs otherwise.
C. Convert everything to wide characters as soon as possible using
an internal encoding that encompasses the entire source character
set and all UCNs.
Furthermore, in any place where a program could tell which model was
being used, the standard should try to label those corner cases as
undefined behavior.
]