We should be able to construct environment variable triggers similarly to how we construct FlagSets: instead of calling a trigger function, we assign a (type-checked) value to a variable, and the caller can process them after calling Parse(). Ergonomically, this will be more familiar, and should mean less boilerplate.
Constructing an EnvSet like a FlagSet could also allow us to trivially "namespace" related variables under a common prefix (and possibly nest them?).