Definition posIT i j : IdiomaticTransformation (KSApplicative i j) (ConstListApplicative i).
exists (fun a (x : KSApplicative i j a) => Vector.to_list (pos x)).
reflexivity.
apply (@pos_ap i j).
Defined.
Section Research.
Variables (F:Applicative) (a b : Type) (h : a -> F b).
Definition research c (k : KSApplicative a b c) : F c :=
map (peek (k:=k)) (sequenceVector (Vector.map h (pos k))).

Lemma research_ap c d (f : KSApplicative a b (c -> d)) (x : KSApplicative a b c):
research (ap f x) = ap (research f) (research x).