2-      Safe-Inferred-5Type to wrap results from the pure parsing functions.The CLI was used with --help. The  contains the help message."The CLI was used incorrectly. The & contains a list of error messages.ZIt can also happen that the data type you're trying to use isn't supported. See the  9https://github.com/zalora/getopt-generics#getopt-genericsREADME for details./The CLI was used correctly and a value of type a! was successfully constructed.None !"&=HKMNone!"3E3s can be used to customize the command line parser.  AddOptionHelp fieldName helpText$ adds a help text for the option  fieldName. 0UseForPositionalArguments fieldName argumentType! fills the field addressed by  fieldNamer with the positional arguments (i.e. arguments that don't correspond to a flag). The field has to have type []. argumentTypeG is used as the type of the positional arguments in the help output. !RenameOption fieldName customName- renames the option generated through the  fieldName by  customName. AddShortOption fieldName c adds the  c1 as a short option for the field addressed by  fieldName. Derives  Gs for all fields of the datatype that start with a unique character. !"#$% &'()*+, -./0  &'()*+, ./ !"#$% &'()*+, -./0None !"&()+-02346=HJKM 'Type class for all allowed field types.AIf you want to use custom field types you should implement an instance Option YourCustomType" containing implementations of  and A (the minimal complete definition). For an example see the  9https://github.com/zalora/getopt-generics#getopt-genericsREADME.4Name of the argument type, e.g. "bool" or "integer". Parses a  into an argument. Returns 1 on parse errors.)This is meant to be an internal function.)This is meant to be an internal function.)This is meant to be an internal function.+Parses command line arguments (gotten from 2W) and returns the parsed value. This function should be enough for simple use-cases.#May throw the following exceptions: ExitFailure 1@ in case of invalid options. Error messages are written to stderr. ExitSuccess in case --help is given. ( ExitSuccesso behaves like a normal exception, except that -- if uncaught -- the process will exit with exit-code 0.) Help output is written to stdout.Like  but allows you to pass in s.Pure variant of .Does not throw any exceptions.03456789:;<=>?Name of the program (e.g. from @).List of /s to manually tweak the command line interface.3List of command line arguments to parse (e.g. from A).BCDEFGHIJKLMNOPQRSTUVWXYZ[  "3876549:;<=?>BCDEFGHIJKLMNOPQRSTUVWXYZ[\       !"#$%&'()*++,-./0123456789:;<=>?@ABCDEEFFGHI=J=KLMNOPQRSTUVWXYZ[\]^_`abcdefgetopt-generics-0.7System.Console.GetOpt.Generics%System.Console.GetOpt.Generics.Result'System.Console.GetOpt.Generics.Internal'System.Console.GetOpt.Generics.Modifierbase Data.ProxyProxygenerics-sop-0.1.1.2Generics.SOP.UniverseGenericHasDatatypeInfoResult OutputAndExitErrorsSuccessModifier AddOptionHelpUseForPositionalArguments RenameOptionAddShortOptionderiveShortOptionsOption argumentType parseArgument _toOption _emptyOption _accumulate getArgumentsmodifiedGetArgumentsparseArguments handleResultaddNewlineIfMissing $fMonadResult$fApplicativeResultnormalizedDatatypeInfo mapFieldInfoMnormalizeFieldNameGHC.BaseStringghc-prim GHC.TypesChar Modifiers _shortOptions _renamingspositionalArgumentsField helpTexts mkModifiersmkShortOptions mkLongOptionhasPositionalArgumentsFieldisPositionalArgumentsFieldgetPositionalArgumentType getHelpTextflagsmkShortModifiers insertWithinsert Data.MaybeNothingSystem.EnvironmentwithArgs FieldStatePositionalArgumentPositionalArguments FieldSuccess FieldErrorsUnsetHelpFlag OptDescrEFieldSelector NoSelector getProgNamegetArgs processFields mkOptDescrs mkOptDescr toOptDescrmkInitialFieldStates helpWrapperpositionalArgumentHelpstripTrailingSpacesfillInPositionalArguments collectResultproject impossible uninhabitedtoProxyparseArgumentEitherparseAsFieldStatecombine readNumber$fOptionDouble $fOptionFloat$fOptionInteger $fOptionInt $fOption[] $fOptionBool $fOptionMaybe $fOption[]0