code: func CollectOptions(opts []OpOption) (*OpConfig, error) {
  	cfg := OpConfig{}
  	for _, o := range opts {
  		if err := o(&cfg); err != nil {
  			return nil, trace.Wrap(err)
  		}
  	}
  	return &cfg, nil
  }
docs: // CollectOptions collects all options from functional
  // arg and returns config