@@ -326,6 +326,8 @@ t_toUpper_upper t = p (T.toUpper t) >= p t
326326 where p = T.length . T.filter isUpper
327327tl_toUpper_upper t = p (TL.toUpper t) >= p t
328328 where p = TL.length . TL.filter isUpper
329+t_toTitle_title t = all (<= 1) (caps t)
330+ where caps = fmap (T.length . T.filter isUpper) . T.words . T.toTitle
329331
330332justifyLeft k c xs = xs ++ L.replicate (k - length xs) c
331333justifyRight m n xs = L.replicate (m - length xs) n ++ xs
@@ -1030,7 +1032,8 @@ tests =
10301032 testProperty "tl_toLower_lower" tl_toLower_lower,
10311033 testProperty "t_toUpper_length" t_toUpper_length,
10321034 testProperty "t_toUpper_upper" t_toUpper_upper,
1033− testProperty "tl_toUpper_upper" tl_toUpper_upper
1035+ testProperty "tl_toUpper_upper" tl_toUpper_upper,
1036+ testProperty "t_toTitle_title" t_toTitle_title
10341037 ],
10351038
10361039 testGroup "justification" [