h&g Safe-Inferred,"%&'()*-1258;<>? optparse-thThis function derives  for you without incurring a  dependency.The main barrier here to fully supporting the library is that the API for  does not expose the function that provides modifiers by default. So we can provide an instance of ), but we can't provide a replacement of , because that function is defined as a top-level that delegates directly to the generic. parseRecordWithModifiers :: (Generic a, GenericParseRecord (Rep a)) => Modifiers -> Parser parseRecordWithModifiers modifiers = fmap GHC.Generics.to (genericParseRecord modifiers) This means that we need to shift the options to the compile-time site, instead of the runtime site.+Likewise, we cannot provide an instance of 4, because it's not a class - it's a type alias for  stuff. So we need to create a separate top-level function that does the unwrap. optparse-thTest the type of the field. If it is unwrappable, unwrap it until it isn't. optparse-thThe goal of this function is to test to see if the constructor is unwrappable: that is, one of  ?,  !, or  #.If it is unwrappable, then we call the relevant function. Note that we have to try multiple times, since you can put a wrapper in any order. optparse-thThis function should be called on a single constructor. No subcommand should be created. optparse-thThis function should be called with a datatype consisting of multiple constructors. The constructor will be converted into a subcommand name.  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH Safe-Inferred*"%&'()*-1258;<>?ZIJKLMNOP       !"#$%&'()*+,-./0123456789:;<=>?@ABCDBEFGHIJKLMNOPQRSTU*optparse-th-0.1.0.0-DpTRXfkuhndInvqoke3gIR Options.THPaths_optparse_thderiveParseRecord,optparse-generic-1.5.2-ts85S65ecQ1ZO1Vts8vP7Options.Generic ParseRecordbase GHC.GenericsGenericparseRecordWithModifiers Unwrappable unwrapFields tryUnwrappingmakeSingleCommandmakeSubcommandOnly-0.1-EAwkTik4whW927ghNLWarpData.Tuple.OnlyOnlyfromOnly Data.MonoidLastgetLastFirstgetFirstData.Semigroup.InternalSumgetSumProduct getProductAnygetAnyAllgetAllunwrapWithHelpunwrapRecordPure unwrapRecordunwrapgetRecordPureWith getRecordPuregetWithHelpWith getWithHelp getRecordWith getRecord firstLetterlispCaseModifiersdefaultModifiersgetOnlyreadIntegralBounded ParseFieldparseListOfField parseField readFieldmetavar ParseFields parseFieldsHelpful unHelpfulDefValue unDefValue<#> ShortName unShortName parseRecord ModifiersshortNameModifierconstructorNameModifierfieldNameModifierGenericParseRecordgenericParseRecord:::Wrapped Unwrapped text-1.2.5.0Data.Text.InternalTextversiongetDataFileName getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDir