code: func (f SelectFunc) MarshalJSON() ([]byte, error) {
  	return json.Marshal(struct {
  		FnSelect []interface{} `json:"Fn::Select"`
  	}{FnSelect: []interface{}{f.Selector, f.Items}})
  }
docs: // MarshalJSON returns a JSON representation of the object