I can write something impossible with an empty case, and use it with [`Decision`](https://hackage.haskell.org/package/singletons-3.0.1/docs/Data-Singletons-Decide.html#t:Decision), for example.

```
{-# LANGUAGE DataKinds, EmptyCase, LambdaCase, TypeOperators #-}

import Data.Type.Equality
import Data.Void

data X = X1 | X2

f :: X1 :~: X2 -> Void
f = \case {}
-- or
-- f x = case x of {}

```

Is there a way to write the equivalent without using `case` by directly pattern-matching the parameter?

```
f :: X1 :~: X2 -> Void
f ???

```