let rec combine = function lx, ly -> if is_empty_list (lx) then empty_list () (* ----- lx (or ly) : type error ----- *) else cons_list ((head (lx), head (ly)), combine (tail (lx), tail (ly)))