code: func NewSwap(a, b Buffer) Buffer {
  	return NewSwapAt(toBufferAt(a), toBufferAt(b))
  }
docs: // NewSwap creates a Buffer which writes to a until you write past a.Cap()
  // then it io.Copy's from a to b and writes to b.
  // Once the Buffer is empty again, it starts over writing to a.
  // Note that if b.Cap() <= a.Cap() it will cause a panic, b is expected
  // to be larger in order to accomodate writes past a.Cap().