MirandaでもCleanでもなくてHaskellならでは、って条件は流石に厳しくないか?