              self._morph_cache.set(tag.id, tokens[i].lex.orth, <void*>cached)
          tokens[i].lemma = cached.lemma
          tokens[i].morph = cached.morph
  
      cdef int lemmatize(self, const univ_tag_t pos, const LexemeC* lex) except -1:
          if self.lemmatizer is None:
              return lex.orth
          cdef unicode py_string = self.strings[lex.orth]
          if pos != NOUN and pos != VERB and pos != ADJ:
              return lex.orth
 
</s> remove     cdef int lemmatize(self, const univ_tag_t pos, const LexemeC* lex) except -1
 </s> add     cdef int lemmatize(self, const univ_pos_t pos, const LexemeC* lex) except -1 </s> remove             id_to_string = {id_: string for string, id_ in UNIV_TAG_NAMES.items()}
 </s> add             id_to_string = {id_: string for string, id_ in UNIV_POS_NAMES.items()} </s> remove     univ_tag_t pos
 </s> add     univ_pos_t pos </s> remove     univ_tag_t pos
 </s> add     univ_pos_t pos </s> remove     cdef readonly univ_tag_t pos
 </s> add     cdef readonly univ_pos_t pos
    cdef int lemmatize(self, const univ_pos_t pos, const LexemeC* lex) except -1:
              self._morph_cache.set(tag.id, tokens[i].lex.orth, <void*>cached)
          tokens[i].lemma = cached.lemma
          tokens[i].morph = cached.morph
  
    cdef int lemmatize(self, const univ_pos_t pos, const LexemeC* lex) except -1:
          if self.lemmatizer is None:
              return lex.orth
          cdef unicode py_string = self.strings[lex.orth]
          if pos != NOUN and pos != VERB and pos != ADJ:
              return lex.orth
keep keep keep keep replace keep keep keep keep keep
 * Move POS tag definitions to parts_of_speech.pxd 
spacy/en/pos.pyx