WithConfig
  _
  Nothing
  (Pure _)
  (Alt
     (Setting
        Nothing
        (Setting
           [ DashedShort 'a' ]
           []
           False
           (Just _)
           False
           Nothing
           Nothing
           Nothing
           []
           False
           Nothing
           (Just "a")
           Nothing
           (fromList [])))
     (Alt
        (Setting
           Nothing
           (Setting
              [ DashedShort 'b' ]
              []
              False
              (Just _)
              False
              Nothing
              Nothing
              Nothing
              []
              False
              Nothing
              (Just "b")
              Nothing
              (fromList [])))
        (Alt
           (Setting
              Nothing
              (Setting
                 []
                 [ _ ]
                 False
                 Nothing
                 False
                 (Just
                    (EnvVarSetting
                       { envVarSettingVar = "sum-type"
                       , envVarSettingAllowPrefix = True
                       } :|
                       []))
                 Nothing
                 Nothing
                 []
                 False
                 (Just "SUM_TYPE")
                 (Just "example")
                 Nothing
                 (fromList [])))
           (Alt
              (Setting
                 Nothing
                 (Setting
                    []
                    []
                    False
                    Nothing
                    False
                    Nothing
                    (Just
                       (ConfigValSetting
                          ("sum-type" :| [])
                          BimapCodec
                          _
                          _
                          (EitherCodec
                             PossiblyJointUnion
                             NullCodec
                             (BimapCodec _ _ (StringCodec Nothing))) :|
                          []))
                    Nothing
                    []
                    False
                    Nothing
                    (Just "example")
                    Nothing
                    (fromList [])))
              (Setting
                 Nothing
                 (Setting
                    []
                    []
                    False
                    Nothing
                    False
                    Nothing
                    Nothing
                    (Just _)
                    []
                    False
                    Nothing
                    (Just "example")
                    Nothing
                    (fromList [])))))))