dropUntilUnderscore :: String -> String
dropUntilUnderscore name =
  case dropWhile (/= '_') name of
    [] -> error $ "Network.AuthorizeNet.TH.dropUntilUnderscore: When processing '" ++ name ++ "': No underscore in name or no text after underscore"
    xs -> tail xs
dropUntilUnderscore :: String -> String
dropUntilUnderscore name =
  case dropWhile (/= '_') name of
    [] -> error $ "Network.AuthorizeNet.TH.dropUntilUnderscore: When processing '" ++ name ++ "': No underscore in name or no text after underscore"
    xs -> tail xs
dropUntilUnderscore name =
  case dropWhile (/= '_') name of
    [] -> error $ "Network.AuthorizeNet.TH.dropUntilUnderscore: When processing '" ++ name ++ "': No underscore in name or no text after underscore"
    xs -> tail xs