infer {succ :: Int -> Int, ys :: [Bool]} (let len = \xs -> case xs of [] -> 0 (x:xt) -> succ (len xt) in len ys)