{-# 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
