Harvestは小説の題名。モナドを別の方法で定義する前の記事でモナドを定義するときに\(>>=\)という関数を用いた。この関数の型シグネチャは次のようになっていた。bここで、\(m\)を関手と考えてみよう。関手\(F\)は下図のように定義されていた。上図で、関手\(F\)によって、対象\(A,B\)は対象\(F(A),F(B)\)に、また射\(f\)は射\(F(f)\)に写像される。これを\(m\)を関手と考えてHaskellの記述で上記の図を書き直すと次の図のようになる。わかりにくいのだが、\(a,b\)は型変数\(a,b\)がある型を取った時の値である。b\)がある型を取った時の値である。b)\)は、関手\(F\)による射\(f\)の写像\(F(f)\)を表していると考えよう。(B)\)に対応している。これから、\(b\)が\(mb\)であることが分かるので、上の図を書き直すと下図を得る。