úγ)None"Class of types for which the easy  syntax is supported. The  defineFlag function defines a new flag. The parameters:  name of the flag (l:long- syntax if you want to have the short option l for this flag),,  default value,  help string for the flag. >The most flexible way of defining a flag. For an example see   Ehttp://github.com/errge/hflags/blob/master/examples/ComplexExample.hs.  For most things  should be enough instead. The parameters:  name of the flag (l:long- syntax if you want to have the short option l for this flag), , quasiquoted and type signed default value,  help string for the argument,  read function, quasiquoted,  show function, quasiquoted,  help string for the flag. This just forwards to  with  [| read |] and   [| show |]6. Useful for flags where the type is not an instance  of . For examples, see   Ehttp://github.com/errge/hflags/blob/master/examples/ComplexExample.hs. The parameters:  name of the flag (l:long- syntax if you want to have the short option l for this flag),, , quasiquoted and type signed default value,  help string for the argument,  help string for the flag. ;Has to be called from the main before doing anything else:    main = do args <- $(initHFlags Simple program v0.1)  ... @Internally, it uses Template Haskell trickery to gather all the : instances of the Flag class and then generates a call to   initFlags8 with the appropriate data gathered together from those  instances to a list. Type after splicing is  IO [String].       hflags-0.1HFlagsFlagType defineFlagdefineCustomFlag defineQQFlag initHFlags$fFlagTypeDouble $fFlagType[]$fFlagTypeInteger $fFlagTypeInt$fFlagTypeBool