func (a ArgMap) BoolList(long string) []bool {
	i := a[long]
	if i == nil {
		panic(fmt.Errorf("missing arg value: arg '%s' not registered", long))
	}
	if i.Value == nil {
		return nil
	}
	b, ok := i.Value.([]bool)
	if !ok {
		panic(fmt.Errorf("failed to assert arg '%s' to bool list", long))
	}
	return b
}
BoolList returns the given arg value as bool slice.
Panics if not present. Args must be registered.
package grumble
import (
	"fmt"
	"time"
)
type ArgMapItem struct {
	Value     interface{}
	IsDefault bool
}
type ArgMap map[string]*ArgMapItem
func (a ArgMap) String(name string) string {
	i := a[name]
	if i == nil {
		panic(fmt.Errorf("missing argument value: arg '%s' not registered", name))
	}
	s, ok := i.Value.(string)
	if !ok {
		panic(fmt.Errorf("failed to assert argument '%s' to string", name))
	}
	return s
}
func (a ArgMap) StringList(long string) []string {
	i := a[long]
	if i == nil {
		panic(fmt.Errorf("missing arg value: arg '%s' not registered", long))
	}
	if i.Value == nil {
		return nil
	}
	s, ok := i.Value.([]string)
	if !ok {
		panic(fmt.Errorf("failed to assert arg '%s' to string list", long))
	}
	return s
}
func (a ArgMap) Bool(long string) bool {
	i := a[long]
	if i == nil {
		panic(fmt.Errorf("missing arg value: arg '%s' not registered", long))
	}
	b, ok := i.Value.(bool)
	if !ok {
		panic(fmt.Errorf("failed to assert arg '%s' to bool", long))
	}
	return b
}