  
      cdef int push_back(self, int idx, const Lexeme* lexeme) except -1:
          if self.length == self.max_length:
              self._realloc(self.length * 2)
          self.lex[self.length] = lexeme
          self.idx[self.length] = idx
          self.pos[self.length] = 0
          self.ner[self.length] = 0
          self.length += 1
          return idx + lexeme.length
  
      cdef int extend(self, int idx, const Lexeme* const* lexemes, int n) except -1:
          cdef int i
 
</s> remove     cdef int _save_cached(self, const Lexeme* const* tokens, hash_t key, int n) except -1:
 </s> add     cdef int _save_cached(self, const TokenC* tokens, hash_t key, int n) except -1: </s> remove             if tokens[i].id == 1:
 </s> add             if tokens[i].lex.id == 1: </s> remove     cdef const Lexeme** _lex_ptr
    cdef int* _idx_ptr
    cdef int* _pos_ptr
    cdef int* _ner_ptr
    cdef const Lexeme** lex
    cdef int* idx
    cdef int* pos
    cdef int* ner
 </s> add     cdef TokenC* _data
    cdef TokenC* data </s> remove             self.lex[i] = &EMPTY_LEXEME
        self.lex += PADDING
        self.idx += PADDING
        self.pos += PADDING
        self.ner += PADDING
 </s> add             self._data[i] = EMPTY_TOKEN
        self.data = self._data + PADDING </s> remove             lexemes[i] = tokens[i]
 </s> add             lexemes[i] = tokens[i].lex
        cdef TokenC* t = &self.data[self.length]
        t.lex = lexeme
        t.idx = idx
        t.pos = 0
        t.sense = 0
  
      cdef int push_back(self, int idx, const Lexeme* lexeme) except -1:
          if self.length == self.max_length:
              self._realloc(self.length * 2)
        cdef TokenC* t = &self.data[self.length]
        t.lex = lexeme
        t.idx = idx
        t.pos = 0
        t.sense = 0
        cdef TokenC* t = &self.data[self.length]
        t.lex = lexeme
        t.idx = idx
        t.pos = 0
        t.sense = 0
        cdef TokenC* t = &self.data[self.length]
        t.lex = lexeme
        t.idx = idx
        t.pos = 0
        t.sense = 0
        cdef TokenC* t = &self.data[self.length]
        t.lex = lexeme
        t.idx = idx
        t.pos = 0
        t.sense = 0
          self.length += 1
          return idx + lexeme.length
  
      cdef int extend(self, int idx, const Lexeme* const* lexemes, int n) except -1:
          cdef int i
keep keep keep keep replace replace replace replace keep keep keep keep keep
 * Introduce a TokenC struct, to handle token indices, pos tags and sense tags 
spacy/tokens.pyx