code: func (l binaryFreeList) Uint16(r io.Reader, byteOrder binary.ByteOrder) (uint16, error) {
  	buf := l.Borrow()[:2]
  	if _, err := io.ReadFull(r, buf); err != nil {
  		l.Return(buf)
  		return 0, err
  	}
  	rv := byteOrder.Uint16(buf)
  	l.Return(buf)
  	return rv, nil
  }
docs: // Uint16 reads two bytes from the provided reader using a buffer from the
  // free list, converts it to a number using the provided byte order, and returns
  // the resulting uint16.