// Package flags provides implementations of the flag.Value interface
// that are commonly used.
package flags
