fp-ts
TypeScript で 関数型プログラミング をするためのライブラリ
lightweight higher kind typesという仕組みがある