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).