distributive-law-comonad-monad