                  tokens.v.push_back(<LexemeC*>self.lexicon.get(&prefix))
          lexemes = <LexemeC**>calloc(len(tokens) - first_token, sizeof(LexemeC*))
          cdef size_t j
          for i, j in enumerate(range(first_token, tokens.v.size())):
              lexemes[i] = tokens.v[j]
          self.cache.set(key, lexemes)
  
      cdef int _split_one(self, Py_UNICODE* characters, size_t length):
          return length
  
 
</s> remove         return lexeme_check_flag(self.v[i], flag_id)
 </s> add         return lexeme_check_flag(self.v.at(i), flag_id) </s> remove         cdef bytes utf8_string = self.v[i].string[:self.v[i].length]
 </s> add         cdef bytes utf8_string = self.v.at(i).string[:self.v.at(i).length] </s> remove     cdef vector[LexemeC*] v
 </s> add     cdef vector[LexemeC*] *v
            lexemes[i] = tokens.v[0][j]
                  tokens.v.push_back(<LexemeC*>self.lexicon.get(&prefix))
          lexemes = <LexemeC**>calloc(len(tokens) - first_token, sizeof(LexemeC*))
          cdef size_t j
          for i, j in enumerate(range(first_token, tokens.v.size())):
            lexemes[i] = tokens.v[0][j]
          self.cache.set(key, lexemes)
  
      cdef int _split_one(self, Py_UNICODE* characters, size_t length):
          return length
  
keep keep keep keep replace keep keep keep keep keep
 * Switch to using a heap-allocated vector in tokens 
spacy/lang.pyx