code: public function substr($from, $length = null)
      {
          $from = Cast::Int($from);
          $length = Cast::_Int($length);
  
          if ($this->length() < $from) {
              throw new LengthException('From parameter must be smaller than the length of the string');
          }
  
          if ($this->length() < $length) {
              throw new LengthException('Length parameter must be smaller than the length of the string');
          }
  
          return mb_convert_encoding(mb_substr($this->value, $from, $length, 'UTF-8'), $this->encoding, 'UTF-8');
      }
docs: Substring
  
  @param  int $from
  @param  int $length
  @return string|null