let rec map_twice = function li -> if is_empty_list (li) then empty_list () (* ----- ou li ----- *) else cons_list (2 * head (li), map_twice (tail (li)))