!

ksk さんが even lines の記録を縮めてるのを見て、えー!と思ったが、昨日書いたように演算子を使えばいいんですね。定義できるのは二項演算子だけだと思っていたので盲点でした。
というわけでネタバレ。

let rec(!)r=r();print_endline(r());!r;;!read_line

これで 49B。ところで (!) 以外で一文字の前置演算子ってあるんでしょうか。(-)はそうだけど自分で定義できないっぽい?