code: func (pl *PairList) SetOne(key, val string) error {
  	// Check that key is allowed
  	if len(pl.permissible) > 0 {
  		permVals, ok := pl.permissible[key]
  		if !ok {
  			return fmt.Errorf("key %v is not allowed", key)
  		}
  
  		// Check that value is allowed
  		if len(permVals) > 0 {
  			_, ok = permVals[val]
  			if !ok {
  				return fmt.Errorf("key %v does not allow value %v", key, val)
  			}
  		}
  	}
  
  	pl.Pairs[key] = val
  	return nil
  }
docs: // SetOne validates and sets an individual key-value pair
  // It will overwrite an existing value