f :: [a] -> [b] -> Int f (x:xs) ys = 1 f xs (y:ys) = 2 f xs ys = 3 main :: IO () main = do print $ f [1] [2] -- '1'