code: func NewConstraint(v string) (Constraints, error) {
  	vs := strings.Split(v, ",")
  	result := make([]*Constraint, len(vs))
  	for i, single := range vs {
  		c, err := parseSingle(single)
  		if err != nil {
  			return nil, err
  		}
  
  		result[i] = c
  	}
  
  	return Constraints(result), nil
  }
docs: // NewConstraint will parse one or more constraints from the given
  // constraint string. The string must be a comma-separated list of
  // constraints.