{-# LANGUAGE LambdaCase #-}

foo = bar (\case JKey{} -> True; _ -> False)

foo :: Int -> Int
foo = \case
  5 -> 10
  i  | i > 5 -> 11
  _ -> 12

foo :: Maybe a -> Maybe a -> Maybe a -> Int
foo = \cases Nothing Just{} Nothing -> 1;  _ _ _ -> 0

foo :: Maybe Int -> Maybe Int -> Int
foo = \cases
  (Just a) (Just a) -> a + a
  _         _       -> 0

foo :: Bool -> Bool -> Bool
foo = \cases
  True
   True -> True
  _ _ -> False
