add in Arrow and Comonad