pre debug: n >= 0
post debug: result.codepoint_length >= n debug: ((result.codepoint_length != n): result = String.this)