def new(arg_name, annotated_with=None):
    """Creates an ArgBindingKey.

    Args:
      arg_name: the name of the bound arg
      annotation: an Annotation, or None to create an unannotated arg binding
          key
    Returns:
      a new ArgBindingKey
    """
    if arg_name.startswith(_PROVIDE_PREFIX):
        binding_key_name = arg_name[_PROVIDE_PREFIX_LEN:]
        provider_indirection = provider_indirections.INDIRECTION
    else:
        binding_key_name = arg_name
        provider_indirection = provider_indirections.NO_INDIRECTION
    binding_key = binding_keys.new(binding_key_name, annotated_with)
    return ArgBindingKey(arg_name, binding_key, provider_indirection)
Creates an ArgBindingKey.

    Args:
      arg_name: the name of the bound arg
      annotation: an Annotation, or None to create an unannotated arg binding
          key
    Returns:
      a new ArgBindingKey