      def add(self, features):
          """Insert a morphological analysis in the morphology table, if not already
          present. Returns the hash of the new analysis.
          """
          features = intify_features(features)
          cdef attr_t feature
          for feature in features:
              if feature != 0 and feature not in FEATURE_NAMES:
                  raise KeyError("Unknown feature: %s" % self.strings[feature])
 
</s> remove                 raise KeyError("Unknown feature: %d" % feature)
 </s> add                 raise KeyError("Unknown feature: %s" % self.strings[feature]) </s> remove         #token.morph = self.add(features)
        token.morph = 0
 </s> add         token.morph = self.add(features)
        for f in features:
            self.strings.add(f)
      def add(self, features):
          """Insert a morphological analysis in the morphology table, if not already
          present. Returns the hash of the new analysis.
          """
        for f in features:
            self.strings.add(f)
          features = intify_features(features)
          cdef attr_t feature
          for feature in features:
              if feature != 0 and feature not in FEATURE_NAMES:
                  raise KeyError("Unknown feature: %s" % self.strings[feature])
keep keep keep add keep keep keep keep keep
 Normalize props for morph exceptions 
spacy/morphology.pyx