# ビジネスプロセスとモナド
稟議プロセスを「文脈付きの処理の連鎖」として見ると。
```haskell
submitRequest :: Request -> Maybe Request
checkByManager :: Request -> Maybe Request
approveByDirector :: Request -> Maybe Request
finalApproval :: Request -> Maybe Request
process :: Request -> Maybe Request
process req =
submitRequest req >>=
checkByManager >>=
approveByDirector >>=
finalApproval
```
| **稟議プロセスの概念** | **モナド的な意味** |
| ---------------------- | ------------------- |
| 各承認ステップ | a -> Maybe a の関数 |
| 却下される | Nothing(失敗) |
| 承認される | Just a(成功) |
| 全体のフロー | >>= でつなぐ |