   but adds a new line at the end. The argument is expected
   to be a chardata.
   """
-  def puts(device // :standard_io, item) do
-    Erlang.io.put_chars device, item
-    Erlang.io.nl(device)
+  def puts(device // :stdio, item) do
+    erl_dev = map_dev(device)
+    Erlang.io.put_chars erl_dev, item
+    Erlang.io.nl(erl_dev)
   end
 
   @doc """
   Inspects and writes the given argument to the device
   followed by a new line.
   """
-  def inspect(device // :standard_io, item) do
+  def inspect(device // :stdio, item) do
     puts device, Elixir.Builtin.inspect(item)
   end
 

    for instance {:error, :estale} if reading from an
    NFS file system.
  """
  def getb(device // :standard_io, prompt, count // 1) do
    Erlang.io.get_chars(device, prompt, count)
  end

  @doc """

    for instance {:error, :estale} if reading from an
    NFS file system.
  """
  def gets(device // :stdio, prompt) do
    Erlang.io.get_line(map_dev(device), prompt)
  end
end
