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)))