>>728
例外事象も入力のうちって捕らえたら
out = f (in, exception-case)
の関数だよな. 内部の状態は適当に隠蔽するとして…

後はカリー化して1入力-1出力の関数になるだろ?