>>> lengthAtLeast 0 "" True >>> lengthAtLeast 3 "ab" False >>> lengthAtLeast 3 "abc" True >>> lengthAtLeast 3 $ repeat 'a' True >>> lengthAtLeast 3 $ "abc" ++ undefined True
\n xs -> lengthAtLeast n (xs::String) == (length xs >= n)
>>> lengthAtMost 0 "" True >>> lengthAtMost 3 "ab" True >>> lengthAtMost 3 "abc" True >>> lengthAtMost 3 "abcd" False >>> lengthAtMost 3 $ repeat 'a' False >>> lengthAtMost 3 $ "abcd" ++ undefined False
\n xs -> lengthAtMost n (xs::String) == (length xs <= n)