Fix: (read) returns eof-object on end of stream instead of throwing an error