help :: Opt_ -> T.Text
help (Opt_ Opt{..}) = T.unlines $ map f
    [ (,) pth           ""
    , (,) "  type:"     hlp_type
    , (,) "  default:"  dflt
    , (,) ""            ""
    ] <> map ("  "<>) hlp_text
  where
    f (l,v) = T.pack $ printf "%-12s %s" (T.unpack l) (T.unpack v)

    pth     = optName opt_enum

    dflt    = T.pack $ LBS.unpack $ encode $ opt_to opt_default

    Help{..} = opt_help
help :: Opt_ -> T.Text
help (Opt_ Opt{..}) = T.unlines $ map f
    [ (,) pth           ""
    , (,) "  type:"     hlp_type
    , (,) "  default:"  dflt
    , (,) ""            ""
    ] <> map ("  "<>) hlp_text
  where
    f (l,v) = T.pack $ printf "%-12s %s" (T.unpack l) (T.unpack v)

    pth     = optName opt_enum

    dflt    = T.pack $ LBS.unpack $ encode $ opt_to opt_default

    Help{..} = opt_help
help (Opt_ Opt{..}) = T.unlines $ map f
    [ (,) pth           ""
    , (,) "  type:"     hlp_type
    , (,) "  default:"  dflt
    , (,) ""            ""
    ] <> map ("  "<>) hlp_text
  where
    f (l,v) = T.pack $ printf "%-12s %s" (T.unpack l) (T.unpack v)

    pth     = optName opt_enum

    dflt    = T.pack $ LBS.unpack $ encode $ opt_to opt_default

    Help{..} = opt_help