deletes :: ByteString -> [ByteString]
deletes w = if B.null w
                then []
                else splits' w >>= \(first, second) ->
                     return $ B.concat [first, B.tail second]
deletes :: ByteString -> [ByteString]
deletes w = if B.null w
                then []
                else splits' w >>= \(first, second) ->
                     return $ B.concat [first, B.tail second]
deletes w = if B.null w
                then []
                else splits' w >>= \(first, second) ->
                     return $ B.concat [first, B.tail second]