intuition.
eapply (@expected_poly_time_compose_binary _ _ _ _ _ _ (fun n a b => eqb a b)); eauto.
eapply expected_poly_time_eqb_bool.
Qed.

(* Specifications: *)
Theorem expected_poly_time_fst_f :
forall (A B C : nat -> Type)(f : forall n, A n -> (B n * C n)),
efficient _ f ->
efficient _ (fun n (a : A n) => fst (f n a)).