code: def _combine(self, other, conn='and'):
          
          f = F()
  
          self_filters = copy.deepcopy(self.filters)
          other_filters = copy.deepcopy(other.filters)
  
          if not self.filters:
              f.filters = other_filters
          elif not other.filters:
              f.filters = self_filters
          elif conn in self.filters[0]:
              f.filters = self_filters
              f.filters[0][conn].extend(other_filters)
          elif conn in other.filters[0]:
              f.filters = other_filters
              f.filters[0][conn].extend(self_filters)
          else:
              f.filters = [{conn: self_filters + other_filters}]
  
          return f
docs: OR and AND will create a new F, with the filters from both F
          objects combined with the connector `conn`.