let rec even_only = function
  li -> if is_empty_list (li) 
          then empty_list ()     (* ----- li as well ----- *)
          else if abs (head (li)) mod 2 = 0  
                 then cons_list (head (li), even_only (tail (li)))
                 else even_only (tail (li))