"Reads lines of text from a `File`."
see(`interface File`)
shared interface Reader 
        satisfies Destroyable {
    "The next line of text in the file,
     or `null` if there is no more text
     in the file."
    shared formal String? readLine();
    shared formal Byte[] readBytes(Integer max);
    "Destroy this `Reader`. Called
     automatically by `destroy()`."
    see(`function destroy`)
    shared formal void close();
    shared actual void destroy(Throwable? exception) =>