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 [] } ] ] } ] ]