inserts :: ByteString -> [ByteString]
inserts w = splits w >>= \(first, second) ->
            letters >>= \letter ->
            return $ B.concat [first, B.cons letter second]
inserts :: ByteString -> [ByteString]
inserts w = splits w >>= \(first, second) ->
            letters >>= \letter ->
            return $ B.concat [first, B.cons letter second]
inserts w = splits w >>= \(first, second) ->
            letters >>= \letter ->
            return $ B.concat [first, B.cons letter second]