func NewReader(reader io.Reader) *Reader {
	r := readerPool.Get().(*Reader)
	r.reader = reader
	r.err = nil
	return r
}
func NewReader(reader io.Reader) *Reader {
	r := readerPool.Get().(*Reader)
	r.reader = reader
	r.err = nil
	return r
}
// NewReader returns a reader that reads typed values from the reader.