targetOpt :: String -> TargetFlag
targetOpt s = case s of
  "parse" -> TargetParse
  "convert" -> TargetConvert
  "typecheck" -> TargetTypeCheck
  "codegen" -> TargetCodeGen
  _ -> TargetDefault
targetOpt :: String -> TargetFlag
targetOpt s = case s of
  "parse" -> TargetParse
  "convert" -> TargetConvert
  "typecheck" -> TargetTypeCheck
  "codegen" -> TargetCodeGen
  _ -> TargetDefault
targetOpt s = case s of
  "parse" -> TargetParse
  "convert" -> TargetConvert
  "typecheck" -> TargetTypeCheck
  "codegen" -> TargetCodeGen
  _ -> TargetDefault