code: func NewPrinter(options ...func(*Printer)) *Printer {
  	p := &Printer{
  		bufWriter:   bufio.NewWriter(nil),
  		tabsPrinter: new(Printer),
  		tabWriter:   new(tabwriter.Writer),
  	}
  	for _, opt := range options {
  		opt(p)
  	}
  	return p
  }
docs: // NewPrinter allocates a new Printer and applies any number of options.