leTakeLitChars d l n ('\'':cs)
  | not d  = ([], n, ('\'':cs))
  | d      = case leTakeLitChars d l (n+1) cs of
                (rest, col, left) -> ('\'':rest, col, left)
leTakeLitChars d l n ('\'':cs)
  | not d  = ([], n, ('\'':cs))
  | d      = case leTakeLitChars d l (n+1) cs of
                (rest, col, left) -> ('\'':rest, col, left)
leTakeLitChars d l n ('\'':cs)
  | not d  = ([], n, ('\'':cs))
  | d      = case leTakeLitChars d l (n+1) cs of
                (rest, col, left) -> ('\'':rest, col, left)