Indexed functors, applicatives, monads, coapplicatives, comonads, etc.