fun cp [] =[] | cp (x::xs)= x :: cp xs (* exormorphic merge *) fun merge(xs, []):int list = cp xs | merge([], ys) = cp ys | merge(l1 as x::xs, l2 as y::ys) = if x