gotil.go
func LineReader(r io.Reader) (<-chan string, error) {
	return lineReader(func() (io.Reader, func(), error) { return r, nil, nil })
}
func LineReader(r io.Reader) (<-chan string, error) {
	return lineReader(func() (io.Reader, func(), error) { return r, nil, nil })
}
// LineReader returns a channel that reads the contents of a reader
// line-by-line.