                              vector[Lexeme*] *prefixes, vector[Lexeme*] *suffixes) except -1
      cdef int _find_prefix(self, Py_UNICODE* characters, size_t length) except -1
      cdef int _find_suffix(self, Py_UNICODE* characters, size_t length) except -1
      cdef int _find_infix(self, Py_UNICODE* characters, size_t length) except -1
      cdef int _save_cached(self, const Lexeme* const* tokens, hash_t key, int n) except -1
   
 
</s> remove             lexemes[i] = tokens[i]
 </s> add             lexemes[i] = tokens[i].lex </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     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         self._save_cached(&tokens.lex[orig_size], orig_key, tokens.length - orig_size)
 </s> add         self._save_cached(&tokens.data[orig_size], orig_key, tokens.length - orig_size)
    cdef int _save_cached(self, const TokenC* tokens, hash_t key, int n) except -1
                              vector[Lexeme*] *prefixes, vector[Lexeme*] *suffixes) except -1
      cdef int _find_prefix(self, Py_UNICODE* characters, size_t length) except -1
      cdef int _find_suffix(self, Py_UNICODE* characters, size_t length) except -1
      cdef int _find_infix(self, Py_UNICODE* characters, size_t length) except -1
    cdef int _save_cached(self, const TokenC* tokens, hash_t key, int n) except -1
   
keep keep keep keep replace keep
 * Introduce a TokenC struct, to handle token indices, pos tags and sense tags 
spacy/lang.pxd