code: func ParseOpts(opts ...interface{}) (time.Duration, logging.Logger) {
  	timeout := DefaultMsgTimeout
  	var logger logging.Logger = logrus.DefaultLogger()
  
  	for _, opt := range opts {
  		switch opt.(type) {
  		case *WithLoggerOpt:
  			logger = opt.(*WithLoggerOpt).logger
  		case *WithTimeoutOpt:
  			timeout = opt.(*WithTimeoutOpt).timeout
  		}
  	}
  	return timeout, logger
  
  }
docs: // ParseOpts returns timeout and logger to be used based on the given options.