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