ユーザが書いたモナドであることの形式的証明を
検証出来る処理系なら有るはず。
Coq辺り。