I'm currently reviewing the IO module, and I discovered an
inconsistency in a data type.
getn(device, prompt, count)
> last arg. here is pos_integer
binread(device \\ group_leader(), line_or_chars)
> last arg here is non_neg_integer
since getn uses :erlang.get_chars/3
http://erldocs.com/18.3/stdlib/io.html?i=0&search=get_chars#get_chars/2
and that one does accept non_neg_integers as Count arg, I think
IO.getn/3 should be updated accordingly.
We have the special cases of IO.binstream/2 and IO.stream/2 that I
think should be kept as is (count = pos_integer)