code: func parseArgument(arg string) (string, string, error) {
  	if !strings.HasPrefix(arg, "--") {
  		return "", "", errors.New("the argument should start with '--'")
  	}
  	if !strings.Contains(arg, "=") {
  		return "", "", errors.New("the argument should have a '=' between the flag and the value")
  	}
  	// Remove the starting --
  	arg = strings.TrimPrefix(arg, "--")
  	// Split the string on =. Return only two substrings, since we want only key/value, but the value can include '=' as well
  	keyvalSlice := strings.SplitN(arg, "=", 2)
  
  	// Make sure both a key and value is present
  	if len(keyvalSlice) != 2 {
  		return "", "", errors.New("the argument must have both a key and a value")
  	}
  	if len(keyvalSlice[0]) == 0 {
  		return "", "", errors.New("the argument must have a key")
  	}
  
  	return keyvalSlice[0], keyvalSlice[1], nil
  }
docs: // parseArgument parses the argument "--foo=bar" to "foo" and "bar"