     capture_io(:stdio, [input: input], fun)
   end
 
-  @spec capture_io(list(), (() -> any())) :: String.t()
+  @spec capture_io(keyword(), (() -> any())) :: String.t()
   def capture_io(options, fun) when is_list(options) and is_function(fun, 0) do
     capture_io(:stdio, options, fun)
   end


  ## Options

    * `:capture_prompt` - When capturing `:stdio`, if set to `false`,
      prompts (specified as arguments to `IO.get*` functions) are not
      captured. Defaults to `true`. For IO devices other than `:stdio`,
      the option is ignored.

    * `:encoding` (since v1.10.0) - encoding of the IO device. Allowed
      values are `:unicode` (default) and `:latin1`.

  happens globally and requires `async: false`.

  A developer can set a string as an input. The default input
  is an empty string.

  ## IO devices

