enqueueS :: IOLoop a -> [[B.ByteString]] -> IO Bool
enqueueS p msgs =
  case (filter checkMsg msgs) of
    []    -> return False
    msgs' -> putMVar (pollInQ p) msgs' >> return True
    where
      checkMsg msg =
        case (break B.null msg) of
          (_, (_ : [])) -> False
          _             -> True
enqueueS :: IOLoop a -> [[B.ByteString]] -> IO Bool
enqueueS p msgs =
  case (filter checkMsg msgs) of
    []    -> return False
    msgs' -> putMVar (pollInQ p) msgs' >> return True
    where
      checkMsg msg =
        case (break B.null msg) of
          (_, (_ : [])) -> False
          _             -> True
enqueueS p msgs =
  case (filter checkMsg msgs) of
    []    -> return False
    msgs' -> putMVar (pollInQ p) msgs' >> return True
    where
      checkMsg msg =
        case (break B.null msg) of
          (_, (_ : [])) -> False
          _             -> True