let rec insert = function
x, lx
-> if is_empty_list (lx)
then cons_list (x, empty_list ()) (* ----- cons_list (x, lx) as well ----- *)
else if x <= head (lx) (* ----- x < head (lx) as well ----- *)
then cons_list (x, lx)
else cons_list (head (lx), insert (x, tail (lx)))