その関数から得られたComplexValidatorNを用いてさらにバリデーションを行う。いった具合に動作します。左辺の結果がInvalidの場合はどうなるか。左辺がInvalidだとすると、当然Invalidな値からComplexValidatorNが作られることになるのですが、そんなComplexValidatorNでバリデーションしても意味がありません。右辺の結果はバリデーションの結果が不明ということでUnknownとなります。まとめということでclarifyでどんなことが出来るかを紹介しました。サンプル付きで長々と書いていますが、まとめると「値を与えたらバリデーション結果を返す」ということです。比較的導入しやすいとは思います。第三者が導入するためにはドキュメントを整え(この記事がドキュメントで良いのでは?)、なによりテストを書かなければいけませんが......。私は実際に使っているのですが、使い勝手はなかなか良く、自分で言うのもなんですが良いものが出来たと思っています。その上で「ビルトインのValidatorはさすがにもっとあっていいわ......」とか「Indefiniteで包むのさすがにめんどうだなー。conversionがあってもいいな」とか考えています。Shinagawaにて下記の発表をしました。この発表で言っている内容自体はclarifyと直接関係がないのですが、この発表で言っていることをやるために軽量なバリデーションライブラリが欲しかったという経緯があったりします。興味がありましたら是非ご覧くださいませ。左辺および右辺のValidator双方とも条件を満たさない場合、右辺のエラーのみを全体のエラーとして採用する(左辺のエラーは結果に含めない)、というものです。左辺を採用するものです。