End monadic.
End monadic.
Section quadratic.
Definition plain_leb: nat -> nat -> IdMonad.M bool := leb.
(*Eval compute in (isort _ plain_leb numbers).*)
Variables (T: Set) (le: T -> T -> bool).
Definition mle (x y: T): SimplyProfiled bool := (1, le x y).

Lemma insert_cost (l: list T) (x: T): cost (insert _ mle l x) <= length l.
Proof with auto with arith.