I've made some modifications to your original notes, and added a few more below.
a. "Words" or fields (to be interpreted later) are separated by white-space or
delimiters.
b. The white-space char set can be adapted by the user with the "whitespace"
keyword. It can even be set to empty.
c. White-space is understood to possibly be a vector of white-space chars that
during reading is folded into one char that separates two fields.
d. Delimiters are also characters that separate words / fields. Multiple
delimiters are not folded into a single instance.
e. Vectors of white-space and one delimiter are folded into one _delimiter_
that separates fields.
f. A pair of delimiters separated by white-space (or nothing) imply an empty
value.
g. By default "emptyvalue" is NaN for numeric data types. If the numeric type
doesn't support NaN, the zero is used (int32 for example). For character fields, an empty
value is just an empty string.
h. If so desired, multiple consecutive delimiters can be folded into one delimiter if
"MultipleDelimsAsOne" parameter is set to 1.
i. EOL char sequences (\n, \r\n, or \r) are also delimiters, but are not
affected by the MultipleDelimsAsOne parameter.
I think these is consistent with your understanding, correct?