intuition.
eapply (@expected_poly_time_compose_binary _ _ _ _ b c (fun n a b => Bind a b)); eauto.
eapply expected_poly_time_bind.
Qed.

(* Specifications: *)
Theorem expected_poly_time_ret_f :
forall (A : nat -> Type)(B : nat -> Set)(eqd : forall n, eq_dec (B n))(f : forall n, (A n) -> (B n)),
efficient _ f ->
efficient _ (fun n (a : A n) => Ret (eqd n) (f n a)).