AnyDocsAnd
  [ AnyDocsOr
      [ AnyDocsSingle
          EnvDoc
            { envDocVars = "CONFIG_FILE" :| []
            , envDocDefault = Nothing
            , envDocExamples = []
            , envDocMetavar = Just "FILE_PATH"
            , envDocHelp = Just "Path to the configuration file"
            }
      ]
  , AnyDocsCommands
      Nothing
      [ CommandDoc
          { commandDocArgument = "top"
          , commandDocHelp = "command without subcommands"
          , commandDocs =
              AnyDocsSingle
                EnvDoc
                  { envDocVars = "NAME" :| []
                  , envDocDefault = Nothing
                  , envDocExamples = [ "john" ]
                  , envDocMetavar = Just "NAME"
                  , envDocHelp = Just "name"
                  }
          }
      , CommandDoc
          { commandDocArgument = "sub"
          , commandDocHelp = "command with subcommands"
          , commandDocs =
              AnyDocsAnd
                [ AnyDocsCommands
                    Nothing
                    [ CommandDoc
                        { commandDocArgument = "a"
                        , commandDocHelp = "A"
                        , commandDocs = AnyDocsAnd []
                        }
                    , CommandDoc
                        { commandDocArgument = "b"
                        , commandDocHelp = "B"
                        , commandDocs = AnyDocsAnd []
                        }
                    ]
                , AnyDocsCommands
                    (Just "c")
                    [ CommandDoc
                        { commandDocArgument = "c"
                        , commandDocHelp = "C"
                        , commandDocs = AnyDocsAnd []
                        }
                    , CommandDoc
                        { commandDocArgument = "d"
                        , commandDocHelp = "D"
                        , commandDocs = AnyDocsAnd []
                        }
                    ]
                ]
          }
      ]
  ]