Should document what happens with the tail.  Do we discard everything after the max-th separator (i.e. return a list of the first max fields from the implicitly fully-split string), or do we use everything after the (max-1)-th separator as the final list element, including any separators that may be embedded in it (i.e. split on up to max-1 separators and return the resulting fragments as a list) ?