#data D = D !X !Y
#と定義しておけばいいでしょう。
#うーんとデータ構成子とは限らなくて、retrn $ D x y じゃなくて return $ foo x y なこともあってですね。
#単純に return $ x + y と考えてもいいんですが。
#そういうのってどうすればやれんのかなーと。
##おなじかー plus !x !y = x + y みたくすればいいのかな。
#あーやっぱりそうなんですね。
#どうもchatonからの受信がイマイチだな。
#こっちの端末は正常に送受信できてる。
#あ、そうか自前の関数だったらいいんだけどライブラリ関数だったらどうしようもないな。
#(+)は通常δ簡約するから!はいらないとおもうよ。
#いずれにしても foo !x !y のとき !x と !y の順序が問題になりそうな予感.
まぁparsecなら問題ないかもしれんが...