code: func oneof(target string, vals []interface{}) string {
  	elems := make([]string, len(vals))
  	for i, v := range vals {
  		elems[i] = fmt.Sprintf("%s == %#v", target, v)
  	}
  	return strings.Join(elems, " || ")
  }
docs: // oneof produces code that compares target with each element of vals and ORs
  // the result, e.g. "target == 1 || target == 2".