So, your original abstraction was broken. You actually had Config and configType. Env and Config naming is better. Config is the thing you load from a file. Env contains things that can't be loaded from that file, like "location of the file"