line! : () => Try(Str, [EndOfInput, BadUtf8({ problem : Utf8Problem, index : U64 }), StdinErr(IOErr)])
Read a line from standard input.
A line ends at \n. The terminator is not returned, and one \r before
it is removed. Input that ends without a \n still yields its last
line; after that the result is Err(EndOfInput). An empty line is
Ok("").
A line that is not valid UTF-8 is consumed and reported as BadUtf8;
the next call reads the line after it.
This function will block the program from continuing until
stdinreceives a newline character
(e.g. because the user pressed Enter in the terminal), so using it can result in the appearance of the program having gotten stuck. It's often helpful to print a prompt first, so the user knows it's necessary to enter something before the program will continue.