>>257のreportを見る限り,どちらの方法でもIOモナドの外部仕様を満たせるんじゃない?

The >>= operation passes the result of the first operation as an argument to the second operation.

ということなので,f >>= gに対して,fの中で起こる副作用がgの中で起こる副作用より先に起こる
ようにするには,

(1) >>=は,左辺の引数についてstrict
(2) g(正確にはgの中での副作用の呼び出し)がstrict

のどちらでもよい(ように思える).