      def append(self, Lexeme lexeme):
          self.v.push_back(lexeme._c)
  
      cpdef unicode string(self, size_t i):
          cdef bytes utf8_string = self.v[i].string[:self.v[i].length]
          cdef unicode string = utf8_string.decode('utf8')
          return string
  
      cpdef size_t id(self, size_t i) except 0:
          return <size_t>&self.v.at(i).string
 
</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 vector[LexemeC*] v
 </s> add     cdef vector[LexemeC*] *v </s> remove             lexemes[i] = tokens.v[j]
 </s> add             lexemes[i] = tokens.v[0][j]
        cdef bytes utf8_string = self.v.at(i).string[:self.v.at(i).length]
      def append(self, Lexeme lexeme):
          self.v.push_back(lexeme._c)
  
      cpdef unicode string(self, size_t i):
        cdef bytes utf8_string = self.v.at(i).string[:self.v.at(i).length]
          cdef unicode string = utf8_string.decode('utf8')
          return string
  
      cpdef size_t id(self, size_t i) except 0:
          return <size_t>&self.v.at(i).string
keep keep keep keep replace keep keep keep keep keep
 * Switch to using a heap-allocated vector in tokens 
spacy/tokens.pyx