generalised to indexed comonads in Coeffect.lhs