state monadをつかってoxを作ってみてる