Program Instance elementsUnsized {A} {def : A} (l : list A) : 
  Unsized (elements def l).

Lemma pickDrop_In_strong : forall {A} (l: list (nat * G (option A))) k x, List.In (k,x) l /\ k <> 0 -> exists n l', pickDrop l n = (k,x,l') /\ n < sum_fst l /\ length l = length l' + 1.