WithConfig
  _
  Nothing
  (Check
     Nothing
     False
     (fromList [])
     _
     (Alt
        (Check
           Nothing
           False
           (fromList [])
           _
           (Setting
              Nothing
              (Setting
                 [ DashedLong ('c' :| "onfig-file") ]
                 [ _ ]
                 False
                 Nothing
                 True
                 (Just
                    (EnvVarSetting
                       { envVarSettingVar = "GREET_CONFIG_FILE"
                       , envVarSettingAllowPrefix = True
                       } :|
                       []))
                 Nothing
                 Nothing
                 []
                 False
                 (Just "FILE_PATH")
                 (Just "Path to the configuration file")
                 (Just _)
                 (fromList []))))
        (Check Nothing False (fromList []) _ (Pure _))))
  (Ap
     (Ap
        (Check
           Nothing
           True
           (fromList [])
           _
           (Setting
              Nothing
              (Setting
                 [ DashedShort 'g' , DashedLong ('g' :| "reeting") ]
                 [ _ ]
                 False
                 Nothing
                 True
                 (Just
                    (EnvVarSetting
                       { envVarSettingVar = "GREET_GREETING"
                       , envVarSettingAllowPrefix = True
                       } :|
                       []))
                 (Just
                    (ConfigValSetting
                       ("greeting" :| [])
                       BimapCodec
                       _
                       _
                       (EitherCodec
                          PossiblyJointUnion
                          NullCodec
                          (BimapCodec _ _ (StringCodec Nothing))) :|
                       []))
                 (Just _)
                 [ "Greetings" ]
                 False
                 (Just "GREETING")
                 (Just "Greeting to use")
                 Nothing
                 (fromList []))))
        (Setting
           Nothing
           (Setting
              []
              [ _ ]
              True
              Nothing
              False
              Nothing
              Nothing
              (Just _)
              []
              False
              (Just "SUBJECT")
              (Just "Who to greet")
              Nothing
              (fromList []))))
     (Setting
        Nothing
        (Setting
           [ DashedShort 'p' , DashedLong ('p' :| "olite") ]
           [ _ ]
           False
           (Just _)
           False
           (Just
              (EnvVarSetting
                 { envVarSettingVar = "GREET_POLITE"
                 , envVarSettingAllowPrefix = True
                 } :|
                 []))
           (Just
              (ConfigValSetting
                 ("polite" :| [])
                 BimapCodec
                 _
                 _
                 (EitherCodec PossiblyJointUnion NullCodec (BoolCodec Nothing)) :|
                 []))
           (Just _)
           []
           False
           (Just "ANY")
           (Just "Whether to be polite")
           Nothing
           (fromList []))))