toHuman :: String -> String
toHuman s = do
    let s1 = Re.replace "([A-Z\\d])([A-Z][a-z\\d])" s "\\1 \\2"
    let s2 = Re.replace "([a-z])([2-Z])" s1 "\\1 \\2"
    let s3 = Re.replace "[-_.]" s2 " "
    toUpperFirstChar $ map C.toLower s3
toHuman :: String -> String
toHuman s = do
    let s1 = Re.replace "([A-Z\\d])([A-Z][a-z\\d])" s "\\1 \\2"
    let s2 = Re.replace "([a-z])([2-Z])" s1 "\\1 \\2"
    let s3 = Re.replace "[-_.]" s2 " "
    toUpperFirstChar $ map C.toLower s3
toHuman s = do
    let s1 = Re.replace "([A-Z\\d])([A-Z][a-z\\d])" s "\\1 \\2"
    let s2 = Re.replace "([a-z])([2-Z])" s1 "\\1 \\2"
    let s3 = Re.replace "[-_.]" s2 " "
    toUpperFirstChar $ map C.toLower s3