   end
 
   @doc """
-  Reads `count` bytes from the IO device or until
-  the end of the line if `:line` is given. If `:all` is
-  given, returns empty string instead of `:eof`.
+  Reads `count` characters from the IO device, a whole
+  `:line` or the whole device with `:all`.
+
   It returns:
 
     * `data` - the input characters

    * `{:error, reason}` - other (rare) error condition;
      for instance, `{:error, :estale}` if reading from an
      NFS volume
  """
  @spec read(device, :all | :line | non_neg_integer) :: chardata | nodata
  def read(device \\ group_leader, chars_or_line)

  end

  @doc """
  Reads `count` characters from the IO device, a whole
  `:line` or the whole device with `:all`.

  It returns:

    * `data` - the input characters
