The definitions of RawFunctor, RawApplicative, &c, by necessity, make it so that their fields (like _<$>_) only work on functions between types at the same level. This means, for example, that the _⊛_ we get from applicative in Data.List.Categorical has type ∀ {ℓ} {A B : Set ℓ} → List (A → B) → List A → List B. However, it would be convenient to have a definition of _⊛_ somewhere with type ∀ {a b} {A : Set a} {B : Set b} → List (A → B) → List A → List B.
Probably these definitions should go in Data.List.Base, though this would probably break any code using the categorical combinators because of name clashes.
There are probably similar problems in all of the other Categorical modules, but I haven't had a look at them yet.
The definitions of
RawFunctor,RawApplicative, &c, by necessity, make it so that their fields (like_<$>_) only work on functions between types at the same level. This means, for example, that the_⊛_we get fromapplicativeinData.List.Categoricalhas type∀ {ℓ} {A B : Set ℓ} → List (A → B) → List A → List B. However, it would be convenient to have a definition of_⊛_somewhere with type∀ {a b} {A : Set a} {B : Set b} → List (A → B) → List A → List B.Probably these definitions should go in
Data.List.Base, though this would probably break any code using the categorical combinators because of name clashes.There are probably similar problems in all of the other
Categoricalmodules, but I haven't had a look at them yet.