do記法がどのように(>>=)変換されているのかがよくわからないです。
たとえば
do { a <- return 1; Just 2 }

return 1 >>= (\a -> Just2)
なのはぎりぎりわかったような感じですが
3つ以上
do { a <- return 1; Just 2; return a }
だとどうなるのでしょうか?