This function produces a syntax object containing a list of all the syntax
objects produced by calling (reader) while current-input-port
is set to port, up until it produces eof. The source location
of the result spans the entire portion of the port that was read.

Produces a srcloc structure representing the current position of a
port, using the provided source and span values to fill in
missing fields. This function relies on port-next-location, so line
counting must be enabled for port to get meaningful results.

This function reads all immediately available bytes from a port and produces a
byte string containing them. If there are no bytes available and the port is
known to have no more input, it produces eof; if there are none
available but the port may have more input, it produces an empty byte string.
This procedure never blocks to wait for input from the port.