docs: def create_argument(target, name, description: str = '') -> dict:
      """
      Creates a dictionary representation of the parameter
  
      :param target:
          The function object in which the parameter resides
      :param name:
          The name of the parameter
      :param description:
          The documentation description for the parameter
      """
  
      arg_names = get_arg_names(target)
      annotations = getattr(target, '__annotations__', {})
  
      out = dict(
          name=name,
          index=arg_names.index(name),
          description=description,
          type=conversions.arg_type_to_string(annotations.get(name, 'Any'))
      )
      out.update(get_optional_data(target, name, arg_names))
      return out