Control.Applicative.ZipList

join を diagonal とすれば対応するモナドが出る