   @doc """
   Writes `item` to the given `device`, similar to `write/2`,
   but adds a newline at the end.
-
   """
   @spec puts(device, chardata | String.Chars.t) :: :ok
   def puts(device \\ group_leader(), item) do

  ## Examples

      IO.write "sample"
      #=> "sample"

      IO.write :stderr, "error"
      #=> "error"

  """
  @spec write(device, chardata | String.Chars.t) :: :ok


      stacktrace = [{MyApp, :main, 1, [file: 'my_app.ex', line: 4]}]
      IO.warn "variable bar is unused", stacktrace
      #=> warning: variable bar is unused
      #=>   my_app.ex:4: MyApp.main/1

  """
  @spec warn(chardata | String.Chars.t, Exception.stacktrace) :: :ok
  def warn(message, []) do
