cleanly handle ZeroReturnError as an expected EOF