showArgs :: String -> Args -> String
showArgs prefix a =
    prefix ++ "Args:"
    ++ "\n  target:                " ++ (show $ target a)
    ++ "\n  cFiles:                " ++ (show $ cFiles a)
    ++ "\n  generatedCFiles:       " ++ (show $ generatedCFiles a)
    ++ "\n  cxxFiles:              " ++ (show $ cxxFiles a)
    ++ "\n  generatedCxxFiles      " ++ (show $ generatedCxxFiles a)
    ++ "\n  assemblyFiles:         " ++ (show $ assemblyFiles a)
    ++ "\n  flounderDefs:          " ++ (show $ flounderDefs a)
    ++ "\n  flounderBindings:      " ++ (show $ flounderBindings a)
    ++ "\n  flounderExtraDefs:     " ++ (show $ flounderExtraDefs a)
    ++ "\n  flounderExtraBindings: " ++ (show $ flounderExtraBindings a)
    ++ "\n  flounderTHCDefs:       " ++ (show $ flounderTHCDefs a)
    ++ "\n  flounderTHCStubs:      " ++ (show $ flounderTHCStubs a)
    ++ "\n  addCFlags:             " ++ (show $ addCFlags a)
    ++ "\n  addCxxFlags:           " ++ (show $ addCxxFlags a)
    ++ "\n  omitCFlags:            " ++ (show $ omitCFlags a)
    ++ "\n  omitCxxFlags:          " ++ (show $ omitCxxFlags a)
    ++ "\n  addIncludes:           " ++ (show $ addIncludes a)
    ++ "\n  omitIncludes:          " ++ (show $ omitIncludes a)
    ++ "\n  addLinkFlags:          " ++ (show $ addLinkFlags a)
    ++ "\n  addLibraries:          " ++ (show $ addLibraries a)
    ++ "\n  addModules:            " ++ (show $ addModules a)
    ++ "\n  addDeps:               " ++ (show $ addGeneratedDependencies a)
    ++ "\n  architectures:         " ++ (show $ architectures a)
    ++ "\n  skateSchemaDefs:       " ++ (show $ skateSchemaDefs a)
    ++ "\n  skateSchemas:          " ++ (show $ skateSchemas a)
    ++ "\n"
showArgs :: String -> Args -> String
showArgs prefix a =
    prefix ++ "Args:"
    ++ "\n  target:                " ++ (show $ target a)
    ++ "\n  cFiles:                " ++ (show $ cFiles a)
    ++ "\n  generatedCFiles:       " ++ (show $ generatedCFiles a)
    ++ "\n  cxxFiles:              " ++ (show $ cxxFiles a)
    ++ "\n  generatedCxxFiles      " ++ (show $ generatedCxxFiles a)
    ++ "\n  assemblyFiles:         " ++ (show $ assemblyFiles a)
    ++ "\n  flounderDefs:          " ++ (show $ flounderDefs a)
    ++ "\n  flounderBindings:      " ++ (show $ flounderBindings a)
    ++ "\n  flounderExtraDefs:     " ++ (show $ flounderExtraDefs a)
    ++ "\n  flounderExtraBindings: " ++ (show $ flounderExtraBindings a)
    ++ "\n  flounderTHCDefs:       " ++ (show $ flounderTHCDefs a)
    ++ "\n  flounderTHCStubs:      " ++ (show $ flounderTHCStubs a)
    ++ "\n  addCFlags:             " ++ (show $ addCFlags a)
    ++ "\n  addCxxFlags:           " ++ (show $ addCxxFlags a)
    ++ "\n  omitCFlags:            " ++ (show $ omitCFlags a)
    ++ "\n  omitCxxFlags:          " ++ (show $ omitCxxFlags a)
    ++ "\n  addIncludes:           " ++ (show $ addIncludes a)
    ++ "\n  omitIncludes:          " ++ (show $ omitIncludes a)
    ++ "\n  addLinkFlags:          " ++ (show $ addLinkFlags a)
    ++ "\n  addLibraries:          " ++ (show $ addLibraries a)
    ++ "\n  addModules:            " ++ (show $ addModules a)
    ++ "\n  addDeps:               " ++ (show $ addGeneratedDependencies a)
    ++ "\n  architectures:         " ++ (show $ architectures a)
    ++ "\n  skateSchemaDefs:       " ++ (show $ skateSchemaDefs a)
    ++ "\n  skateSchemas:          " ++ (show $ skateSchemas a)
    ++ "\n"
showArgs prefix a =
    prefix ++ "Args:"
    ++ "\n  target:                " ++ (show $ target a)
    ++ "\n  cFiles:                " ++ (show $ cFiles a)
    ++ "\n  generatedCFiles:       " ++ (show $ generatedCFiles a)
    ++ "\n  cxxFiles:              " ++ (show $ cxxFiles a)
    ++ "\n  generatedCxxFiles      " ++ (show $ generatedCxxFiles a)
    ++ "\n  assemblyFiles:         " ++ (show $ assemblyFiles a)
    ++ "\n  flounderDefs:          " ++ (show $ flounderDefs a)
    ++ "\n  flounderBindings:      " ++ (show $ flounderBindings a)
    ++ "\n  flounderExtraDefs:     " ++ (show $ flounderExtraDefs a)
    ++ "\n  flounderExtraBindings: " ++ (show $ flounderExtraBindings a)
    ++ "\n  flounderTHCDefs:       " ++ (show $ flounderTHCDefs a)
    ++ "\n  flounderTHCStubs:      " ++ (show $ flounderTHCStubs a)
    ++ "\n  addCFlags:             " ++ (show $ addCFlags a)
    ++ "\n  addCxxFlags:           " ++ (show $ addCxxFlags a)
    ++ "\n  omitCFlags:            " ++ (show $ omitCFlags a)
    ++ "\n  omitCxxFlags:          " ++ (show $ omitCxxFlags a)
    ++ "\n  addIncludes:           " ++ (show $ addIncludes a)
    ++ "\n  omitIncludes:          " ++ (show $ omitIncludes a)
    ++ "\n  addLinkFlags:          " ++ (show $ addLinkFlags a)
    ++ "\n  addLibraries:          " ++ (show $ addLibraries a)
    ++ "\n  addModules:            " ++ (show $ addModules a)
    ++ "\n  addDeps:               " ++ (show $ addGeneratedDependencies a)
    ++ "\n  architectures:         " ++ (show $ architectures a)
    ++ "\n  skateSchemaDefs:       " ++ (show $ skateSchemaDefs a)
    ++ "\n  skateSchemas:          " ++ (show $ skateSchemas a)
    ++ "\n"