This is basically a transcript of the post I wrote on the subject which I host here It has a bit more than what I talked about
Join in Haskell
join is a monadic operation, instead of working only on lists, it works on monads and has the signature:
join :: Monad m => m ( m a ) -> (m a)

In effect it joins or merges two successive...