                  spaces = None
              doc = Doc(vocab, words=tokens[:, orth_col], spaces=spaces)
              doc = doc.from_array(self.attrs, tokens)
              doc.cats = self.cats[i]
              if self.store_user_data:
                  user_data = srsly.msgpack_loads(self.user_data[i], use_list=False)
                  doc.user_data.update(user_data)
              yield doc
  
      def merge(self, other: "DocBin") -> None:
 
</s> remove         DocBins don't match.
 </s> add         DocBins don't match, or if they differ in whether or not to store
        user data. </s> remove         if self.store_user_data and "user_data" in msg:
 </s> add         if "user_data" in msg: </s> remove         if self.store_user_data:
            self.user_data.extend(other.user_data)
 </s> add         self.user_data.extend(other.user_data)
            if i < len(self.user_data) and self.user_data[i] is not None:
                  spaces = None
              doc = Doc(vocab, words=tokens[:, orth_col], spaces=spaces)
              doc = doc.from_array(self.attrs, tokens)
              doc.cats = self.cats[i]
            if i < len(self.user_data) and self.user_data[i] is not None:
                  user_data = srsly.msgpack_loads(self.user_data[i], use_list=False)
                  doc.user_data.update(user_data)
              yield doc
  
      def merge(self, other: "DocBin") -> None:
keep keep keep keep replace keep keep keep keep keep
 small UX fix for DocBin (#6167)

* add informative warning when messing up store_user_data DocBin flags

* add informative warning when messing up store_user_data DocBin flags

* cleanup test

* rename to patterns_path 
spacy/tokens/_serialize.py