>>715
サンプルとして活用させていただきます
で、勝手にインデント。

module Main where

instance Monad ((,) a) where

 (>>=) (sub, main) f = (sub, main') where
  (sub', main') = f main

 return main = (bottom, main)

bottom = bottom

test = do
 x <- (("a", 2), 1)
 y <- return $ x+1
 return $ y*2

>>721
表現が悪くて申し訳ないです。そのつもりでした。do A; B… と書いた時のB以降です。