見ると以下のように定義されている。関数に馴染んでないので、もう一度ここから考え直し。イメージをするとき一番参考になったのは下図だった。kwoutリストの要素間に、関数を適用していく様子がイメージしやすい。これを元に、具体的な場合に当てはめて考える。関数の動作イメージまずは、リストの要素がモナドではない場合の概念的なイメージから。計算のためにツリーをイメージ。その後、対象であるリストの要素を木の左の葉に割り当てる。木の一番下の右の葉へ。これを木のルートの方へ繰り返し最終的な結果を得る。引数に、「空リストがモナドで包まれたもの」が与えられているのがわかる。これを先ほどと同じようにイメージする。要素がモナドであるリストを、木の左の葉に割り当てる。次に、一番下の右の葉に、「モナドで包まれた空リスト」を置く。引数の計算へと受渡している感じがつかみやすい。モナドに包んで返しているのがわかる。関数は与えられたモナドのリストの個々の中身を取り出し、リストに追加したら、そのリストをまたモナドで包んで返すことを繰り返す。