Type error. Expression 'new List' returns a pointer of type List*. But merge is supposed to return a pointer of type List.
Incorrect. What if A and B are both NULL? This function computes B->head, which causes a memory fault.