merge [] ys = ys
If the first argument is empty, specify the second argument.
merge xs [] = xs
If the second argument is empty, specify the first argument.
merge xs@(x:xt) ys@(y:yt) | x <= y = x : merge xt ys
| otherwise = y : merge xs yt
x y, ( ) x xs ( xt) ys. y , xs ys ( yt).
xs@(x:xt) - "placeholder". xs , x - , xt - .
, cons xs ys, , .
(|) "" , .