code: func (f *FilterWrap) MarshalJSON() ([]byte, error) {
  	var root interface{}
  	if len(f.filters) > 1 {
  		root = map[string]interface{}{f.boolClause: f.filters}
  	} else if len(f.filters) == 1 {
  		root = f.filters[0]
  	}
  	return json.Marshal(root)
  }
docs: // MarshalJSON override for FilterWrap to match the expected ES syntax with the bool at the root