public Stream<String> read(final Readable readable) {
			requireNonNull(readable);

			final IOValue<Stream<String>> result = new IOValue<>(resources -> {
				final Readable rdr = resources.use(
					readable,
					resource -> {
						if (resource instanceof AutoCloseable closeable) {
							try {
								closeable.close();
							} catch (IOException | RuntimeException | Error e) {
								throw e;
							} catch (Exception e) {
								throw new IOException(e);
							}
						}
					}
				);

				final var source = CharCursor.of(rdr);
				final var line = new CharAppender();

				final Supplier<String> nextLine = () -> {
					line.reset();
					try {
						return nextLine(source, line) ? line.toString() : null;
					} catch (IOException e) {
						throw new UncheckedIOException(e);
					}
				};

				return Stream.generate(nextLine)
					.takeWhile(Objects::nonNull);
			});

			return result.get().onClose(() ->
				result.release(UncheckedIOException::new)
			);
		}
Reads all CSV lines from the given {@code reader}.

@apiNote
This method must be used within a try-with-resources statement or
similar control structure to ensure that the stream's open file is
closed promptly after the stream's operations have completed.

@param readable the readable from which to read the CSV content
@return the CSV lines from the file as a {@code Stream}
jenetics.ext/src/main/java/io/jenetics/ext/util/CsvSupport.java