code: func NewSpill(buf Buffer, w io.Writer) Buffer {
  	if w == nil {
  		w = ioutil.Discard
  	}
  	return &spill{
  		Buffer:  buf,
  		Spiller: w,
  	}
  }
docs: // NewSpill returns a Buffer which writes data to w when there's an error
  // writing to buf. Such as when buf is full, or the disk is full, etc.