code: func (tc *TaskCatch) MarshalJSON() ([]byte, error) {
  	catchJSON := map[string]interface{}{
  		"ErrorEquals": tc.errorEquals,
  		"Next":        tc.next,
  	}
  	return json.Marshal(catchJSON)
  }
docs: // MarshalJSON to prevent inadvertent composition