AnyDocsAnd
  [ AnyDocsOr
      [ AnyDocsSingle
          (Just
             OptDoc
               { optDocTryArgument = False
               , optDocTrySwitch = False
               , optDocTryOption = True
               , optDocDasheds = [ DashedLong ('c' :| "onfig-file") ]
               , optDocDefault = Nothing
               , optDocExamples = []
               , optDocMetavar = Just "FILE_PATH"
               , optDocHelp = Just "Path to the configuration file"
               })
      ]
  , AnyDocsCommands
      Nothing
      [ CommandDoc
          { commandDocArgument = "top"
          , commandDocHelp = "command without subcommands"
          , commandDocs =
              AnyDocsSingle
                (Just
                   OptDoc
                     { optDocTryArgument = False
                     , optDocTrySwitch = False
                     , optDocTryOption = True
                     , optDocDasheds = [ DashedLong ('n' :| "ame") ]
                     , optDocDefault = Nothing
                     , optDocExamples = [ "john" ]
                     , optDocMetavar = Just "NAME"
                     , optDocHelp = 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 []
                        }
                    ]
                ]
          }
      ]
  ]