code: func NewBitFlags(permissibleOptions []string, defaultOptions string, flagMap map[string]int) (*BitFlags, error) {
  	ol, err := NewOptionList(permissibleOptions, defaultOptions)
  	if err != nil {
  		return nil, err
  	}
  
  	bf := &BitFlags{
  		OptionList: ol,
  		FlagMap:    flagMap,
  	}
  	bf.typeName = "BitFlags"
  
  	if err := bf.Set(defaultOptions); err != nil {
  		return nil, errwrap.Wrap(errors.New("problem setting defaults"), err)
  	}
  
  	return bf, nil
  }
docs: // NewBitFlags initializes a simple bitflag version of the OptionList Type.
  // flagMap is the mapping from option names to the integer value