-- !!! ds003 -- list, tuple, lazy, as patterns -- module ShouldCompile where f [] y True = [] f x a@(y,ys) ~z = [] f (x:x1:x2:x3) ~(y,ys) z = [] f x y True = []