Either型
Right(Either型の変数)がtrueで、型を確定して処理できる。
失敗したら、処理方法によるが、だんまりもできる。
mapな処理なら、成功のものだけを返す。mapだけど、count数は減る(count, lengthが変わる処理になる)
io-ts
io-ts.Type() で、型を値で表記した形の変数を表記できる
この値(オブジェクト)は、decode()を持つ
decodeは、unknown型を取り、(独自の)Either型を返す
isRight, isLeftで判定できる
Promise側でrejectしてしまう場合は、.catch() にくるので、、
再度throw()ように、ここで、