induction l...
intros.
rewrite insert_unfold, bind_cost.
destruct (result (mle x a)).
rewrite return_cost.
simpl...
rewrite bind_cost, return_cost.
deep_le_trans IHl...
simpl.
omega.
Qed.

(* Specifications: *)
Lemma fold_insert_cost : forall (x y: list T),
cost (foldlM (insert _ mle) y x) <= length y * length x + div2 (sqrd (length x)).