関数のcomposability(合成可能性)を高めるために
モノイド、ファンクタ、モナドなんかの型クラスがある

モノイド = appendable
ファンクタ = mappable
モナド = flatmappable

↓この説明が過去見た中では一番わかりやすい
http://adit.io/posts/2013-04-17-functors,_applicatives,_and_monads_in_pictures.html