Make normalizedName external so we can make the functions external
diff --git a/flag.go b/flag.go
index ac14b81..ecd8abf 100644
--- a/flag.go
+++ b/flag.go
@@ -120,9 +120,9 @@
 	PanicOnError
 )
 
-// normalizedName is a flag name that has been normalized according to rules
+// NormalizedName is a flag name that has been normalized according to rules
 // for the FlagSet (e.g. making '-' and '_' equivalent).
-type normalizedName string
+type NormalizedName string
 
 // A FlagSet represents a set of defined flags.
 type FlagSet struct {
@@ -133,8 +133,8 @@
 
 	name           string
 	parsed         bool
-	actual         map[normalizedName]*Flag
-	formal         map[normalizedName]*Flag
+	actual         map[NormalizedName]*Flag
+	formal         map[NormalizedName]*Flag
 	shorthands     map[byte]*Flag
 	args           []string // arguments after flags
 	exitOnError    bool     // does the program exit if there's an error?
@@ -165,7 +165,7 @@
 }
 
 // sortFlags returns the flags as a slice in lexicographical sorted order.
-func sortFlags(flags map[normalizedName]*Flag) []*Flag {
+func sortFlags(flags map[NormalizedName]*Flag) []*Flag {
 	list := make(sort.StringSlice, len(flags))
 	i := 0
 	for k := range flags {
@@ -175,18 +175,18 @@
 	list.Sort()
 	result := make([]*Flag, len(list))
 	for i, name := range list {
-		result[i] = flags[normalizedName(name)]
+		result[i] = flags[NormalizedName(name)]
 	}
 	return result
 }
 
-func (f *FlagSet) normalizeFlagName(name string) normalizedName {
+func (f *FlagSet) normalizeFlagName(name string) NormalizedName {
 	result := name
 	for _, sep := range f.wordSeparators {
 		result = strings.Replace(result, sep, "-", -1)
 	}
 	// Type convert to indicate normalization has been done.
-	return normalizedName(result)
+	return NormalizedName(result)
 }
 
 func (f *FlagSet) out() io.Writer {
@@ -240,7 +240,7 @@
 }
 
 // lookup returns the Flag structure of the named flag, returning nil if none exists.
-func (f *FlagSet) lookup(name normalizedName) *Flag {
+func (f *FlagSet) lookup(name NormalizedName) *Flag {
 	return f.formal[name]
 }
 
@@ -272,7 +272,7 @@
 		return err
 	}
 	if f.actual == nil {
-		f.actual = make(map[normalizedName]*Flag)
+		f.actual = make(map[NormalizedName]*Flag)
 	}
 	f.actual[normalName] = flag
 	flag.Changed = true
@@ -417,7 +417,7 @@
 		panic(msg) // Happens only if flags are declared with identical names
 	}
 	if f.formal == nil {
-		f.formal = make(map[normalizedName]*Flag)
+		f.formal = make(map[NormalizedName]*Flag)
 	}
 	f.formal[f.normalizeFlagName(flag.Name)] = flag
 
@@ -482,7 +482,7 @@
 	}
 	// mark as visited for Visit()
 	if f.actual == nil {
-		f.actual = make(map[normalizedName]*Flag)
+		f.actual = make(map[NormalizedName]*Flag)
 	}
 	f.actual[f.normalizeFlagName(flag.Name)] = flag
 	flag.Changed = true