type Tristate … const Unset … const True … const False … func (f *Tristate) Default(value bool) { … } func (f Tristate) String() string { … } func (f Tristate) Value() bool { … } func (f *Tristate) Set(value string) error { … } func (f Tristate) Provided() bool { … } func (f *Tristate) Type() string { … } func boolFromTri(t Tristate) bool { … } func triFromBool(b bool) Tristate { … }