docs: @CheckReturnValue
    public String replaceFrom(CharSequence sequence, CharSequence replacement) {
      int replacementLen = replacement.length();
      if (replacementLen == 0) {
        return removeFrom(sequence);
      }
      if (replacementLen == 1) {
        return replaceFrom(sequence, replacement.charAt(0));
      }
  
      String string = sequence.toString();
      int pos = indexIn(string);
      if (pos == -1) {
        return string;
      }
  
      int len = string.length();
      StringBuilder buf = new StringBuilder((len * 3 / 2) + 16);
  
      int oldpos = 0;
      do {
        buf.append(string, oldpos, pos);
        buf.append(replacement);
        oldpos = pos + 1;
        pos = indexIn(string, oldpos);
      } while (pos != -1);
  
      buf.append(string, oldpos, len);
      return buf.toString();
    }