In that case, it would be difficult for the programmer to reason about the memory usage of their use of substring().
This change lets programmers not worry about the implementation of substring() and memory leaks in return for linear runtime complexity.