code: func (bf *BFlags) addFlag(name string, flagType FlagType) *Flag {
  	if _, ok := bf.flags[name]; ok {
  		bf.Err = fmt.Errorf("Duplicate flag defined: %s", name)
  		return nil
  	}
  
  	newFlag := &Flag{
  		bf:       bf,
  		name:     name,
  		flagType: flagType,
  	}
  	bf.flags[name] = newFlag
  
  	return newFlag
  }
docs: // addFlag is a generic func used by the other AddXXX() func
  // to add a new flag to the BFlags struct.
  // Note, any error will be generated when Parse() is called (see Parse).